python flask项目:python读取数据库shop_top_sql = "select left(shop,6),SUM(monthly_sales) FROM goods GROUP BY shop ORDER BY SUM(monthly_sales) desc limit 10",定义data[],,将从数据库查到的shop和mo'n't'hly_sales存入data[],然后以json格式返回,在根据返回的data的数据用ajax赋值到echarts柱状图里,x轴赋值monthly_sales,y轴赋值shop,写出实现代码及echarts代码
时间: 2024-02-11 18:09:14 浏览: 120
以下是Python Flask项目的代码实现:
```python
from flask import Flask, jsonify
import pymysql
app = Flask(__name__)
@app.route('/data')
def get_data():
# 连接数据库
db = pymysql.connect(host="localhost", user="root", password="password", database="database_name")
cursor = db.cursor()
# 查询数据
shop_top_sql = "select left(shop,6),SUM(monthly_sales) FROM goods GROUP BY shop ORDER BY SUM(monthly_sales) desc limit 10"
cursor.execute(shop_top_sql)
results = cursor.fetchall()
# 将数据存入data数组
data = []
for row in results:
data.append({'shop': row[0], 'monthly_sales': row[1]})
# 关闭数据库连接
db.close()
# 返回json数据
return jsonify(data)
if __name__ == '__main__':
app.run(debug=True)
```
以下是Echarts的代码实现:
```javascript
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('myChart'));
// 使用ajax获取数据
$.ajax({
url: '/data',
type: 'get',
dataType: 'json',
success: function (data) {
// x轴数据
var monthly_sales = [];
// y轴数据
var shop = [];
// 遍历data数组,将数据存入x轴和y轴数组中
for (var i = 0; i < data.length; i++) {
monthly_sales.push(data[i].monthly_sales);
shop.push(data[i].shop);
}
// 指定图表的配置项和数据
var option = {
title: {
text: '销售Top10',
subtext: '数据来自数据库',
x: 'center'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: shop,
axisLabel: {
interval: 0,
rotate: 30
}
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: monthly_sales
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
});
```
阅读全文