目录
以折线图的方式链接MySQL数据展示前一天上传的车辆数据总条数信息:
以饼图的方式链接MySQL数据展示前一天上传的车辆数据中非当天的数据总条数信息:
要求:
以柱状图的方式链接MySQL数据展示重复数据的车辆信息:
(表必须包含字段:数据生成日期、车架号、重复次数。比如2023-01-01这一天,vin0001有两条重复数据,则mysql表中的记录则为2023-01-01、vin0001、2)
以折线图的方式链接MySQL数据展示前一天上传的车辆数据总条数信息:
(表字段必须包含:数据生成日期、非当天的数据总条数)
以饼图的方式链接MySQL数据展示前一天上传的车辆数据中非当天的数据总条数信息:
(表字段必须包含:数据生成日期、非当天的数据总条数)
界面美观、清晰
附上效果图:
用到的技术:数据可视化echarts+mysql+python+flask
一:折线图
首先是建立MySQL数据库
这里使用的是VScode的插件:
建表的MySQL语句如下:
CREATE TABLE IF NOT EXISTS vehicle_repeat (
create_time varchar(10) DEFAULT NULL,
Vehicle_number varchar(6) DEFAULT NULL,
repeat_frequency int DEFAULT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO vehicle_repeat VALUES ('2021-05-01',vin01,20);
INSERT INTO vehicle_repeat VALUES ('2021-05-02',vin02,17);
INSERT INTO vehicle_repeat VALUES ('2021-05-03',vin03,31);
INSERT INTO vehicle_repeat VALUES ('2021-05-04',vin04,27);
INSERT INTO vehicle_repeat VALUES ('2021-05-05',vin05,56);
INSERT INTO vehicle_repeat VALUES ('2021-05-06',vin06,54);
INSERT INTO vehicle_repeat VALUES ('2021-05-07',vin07,10);
INSERT INTO vehicle_repeat VALUES ('2021-05-08',vin08,87);
py文件代码:
import json
from flask import Flask,render_template,url_for
import pymysql
app = Flask(__name__)
@app.route('/')
def my_tem():
#在浏览器上渲染html模板
return render_template('1.html')
@app.route('/test',methods=['POST'])
def my_test():
#创建连接数据库
connection = pymysql.connect(host='localhost',
user='root',
passwd='123456',
db='test',
port=3306,
charset='utf8'
)
cur=connection.cursor() #游标(指针)cursor的方式操作数据
sql='SELECT Vehicle_number,repeat_frequency FROM vehicle_repeat' #sql语句
cur.execute(sql) #execute(query, args):执行单条sql语句。
see=cur.fetchall() #使结果全部可看
#print(sql)
#print(see)
#print(cur)
#创建json数据
xdays=[]
jsonData={}
yvalues=[]
for data in see:
xdays.append(data[0])
yvalues.append(data[1])
#print(xdays)
#print(yvalues)
jsonData['xdays']=xdays
jsonData['yvalues']=yvalues
#print(jsonData)
#将json格式转成str,因为如果直接将dict类型的数据写入json会发生报错,因此将数据写入时需要用到该函数。
j=json.dumps(jsonData,ensure_ascii=False)
#print(j)
cur.close()