登陆

Python动态绘图的办法(下)

admin 2019-12-14 230人围观 ,发现0个评论

(matplotlib,matplotlib.animation,pyechart,echart)

办法六:运用flask发布静态echart的html网页

办法七:运用flask+ajax+echart+json发布异步图形网页

办法八:flask+ajax+echart+json+mysql的主动改写网页展现数据库数据

办法六:运用flask发布静态echart的html网页

思路:运用flask发布静态网页,可是html网页是echart的网页,需求js烘托,因而需求jinjia2库支撑,烘托网页。这儿需求首要flask的默许文件夹结构,pro/static,pro/templates,pro/,别离办法JS/CSS/IMAGE,html,py程序

#python文件内容

from flask import Blueprint,render_template,send_file

from flask import Flask

app = Flask(__name__)

@app.route('/')

def index():

return render_template('pyecharts2_1.html') #调用模板

if __name__=='__main__':

app.run(debug=True)

html文件内容,修正了官方的比如,把js文件的方位,写为了绝对路径,不要跟html文件在一个目录里边

文字的字体和色彩

ECharts示例

办法七:运用flask+ajax+echart+json发布异步图形网页

思路:静态办法,echart的html网页的数据是写死的,因而需求修正网页的数据内容,运用echart的js库供给的接口功用,通过查找,考虑运用ajax+Jason的办法。用户首要拜访网页/,取得模板html,可是模板里边只要js的脚本,没有数据,因而再次运用ajax拜访/test,取得json数据,然后把json数据运用js进行解析,增加到html网页中进行显现。假如需求动态改写,在html中增加js的定时Python动态绘图的办法(下)器函数,运用间隔时间发送ajax恳求数据,改写页面

参阅:轮询和长轮询https://blog.csdn.net/submarineas/article/details/84176840

#python程序

from flask import Flask,render_template,url_for

import json

import numpy as np

app = Flask(__name__)

@app.route('/')

def hello():

return render_template('my_template.html')

# /test路由 接纳前端的ajax恳求

@app.route('/test',methods=['POST'])

def my_echart():

xdays = list(range(0, 50))

yvalues1 = list(np.random.random(50))

yvalues2= list(np.random.random(50))

# 转换成JSON数据格式

jsonData = {} #预备存储json数据的字典

jsonData['xdays']=xdays

jsonData['yvalues1'] = yvalues1

jsonData['yvalues2'] = yvalues2

# json.dumps()用于将dict类型的数据转成str,由于假如直接将dict类型的数据写入json会发作报错,因而将数据写入时需求用到该函数。

j = json.dumps(jsonData)

# 在浏览器上烘托my_template.html模板(为了检查输出的数据)

return(j)

if __name__ == '__main__':

app.run(debug=True)

#html模板

炫酷的ECharts

my_template

办法八:flask+ajax+echart+json+mysql的主动改写网页展现数据库数据

参阅:轮询和长轮询https://blog.csdn.net/submarineas/article/details/84176840

Sql参阅https://blog.csdn.net/u014465934/article/details/80556340

(1)先衔接mysql数据库

(2)从数据库读取数据,元祖方式。然后填充到图形中

(3)其它内容,跟前面相同,运用定时器html动态改写界面,取得后台最新的mysql的数据。

#python程序

#coding:utf-8

from flask import Flask,render_template,url_for

import pymysql

import json

# 生成Flask实例

app = Flask(__name__)

@app.route('/')

def hello():

return render_template('my_template.html')

# /test路由 接纳前端的ajax恳求

@app.route('/test',methods=['POST'])

def my_echart():

# 衔接数据库

conn = pymysql.connect(host='127.0.0.1',user='root',password='123456',db='mydb001')

cur = conn.cursor()

sql = 'SELECT * FROM tb1'

cur.execute(sql)

u = cur.fetchall()

# 转换成JSON数据格式

jsonData = {}

xdays = []

yvalues1 Python动态绘图的办法(下)= []

yvalues2 = []

for data in u:

# xdays.append(str(data[0]))

xdays.append(data[0])

yvalues1.append(data[1])

yvalues2.append(data[2])

print(xdays,yvalues1,yvalues2)

jsonData['xdays']=xdays

jsonData['yvalues1'] = yvalues1

jsonData['yvalues2'] = yvalues2

# json.dumps()用于将dict类型的数据转成str,由于假如直接将dict类型的数据写入json会发作报错,因而将数据写入时需求用到该函数。

j = json.dumps(jsonData)

cur.close()

conn.close()

# 在浏览器上烘托my_template.html模板(为了检查输出的数据)

return(j)

if __name__ == '__main__':

# 运转项目

app.run(debug=True)

Html程序跟前面程序相同,不变

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP