快捷搜索:  汽车  科技

python动态绘图教程(Python动态绘图的方法)

python动态绘图教程(Python动态绘图的方法)from pyecharts import Scatter3Dimport random⑤ 建立html模板目录结构两个文件的代码如下python程序如下

方法五:利用flask和pyechart组合-web发布图形

① 首先要安装flask框架

② 在windows的命令行执行:python -m venv myenv

③ 进入虚拟环境命令的脚本文件夹,激活虚拟环境

④ 然后安装flask包

python动态绘图教程(Python动态绘图的方法)(1)

⑤ 建立html模板目录结构

python动态绘图教程(Python动态绘图的方法)(2)

两个文件的代码如下

python程序如下

import random

from pyecharts import Scatter3D

from flask import Flask render_template

app = Flask(__name__)

REMOTE_HOST = "https://pyecharts.github.io/assets/js"

@app.route("/")

def hello():

s3d = scatter3d()

return render_template(

"pyecharts.html"

myechart=s3d.render_embed()

host=REMOTE_HOST

script_list=s3d.get_js_dependencies()

)

def scatter3d():

data = [generate_3d_random_point() for _ in range(80)]

range_color = [

"#313695"

"#4575b4"

"#74add1"

"#abd9e9"

"#e0f3f8"

"#fee090"

"#fdae61"

"#f46d43"

"#d73027"

"#a50026"

]

scatter3D = Scatter3D("3D scattering plot demo" width=1200 height=600)

scatter3D.add("" data is_visualmap=True visual_range_color=range_color)

return scatter3D

def generate_3d_random_point():

return [

random.randint(0 100) random.randint(0 100) random.randint(0 100)

]

if __name__=='__main__':

app.run(debug=True)

html文件的内容如下

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Proudly presented by ECharts</title>

{% for jsfile_name in script_list %}

<script src="https://img.aigexing.com{{ host }}/{{ jsfile_name }}.js"></script>

{% endfor %}

</head>

<body>

{{ myechart|safe }}

</body>

</html>

⑥ 在pycharm中运行server.py文件,在浏览器中访问127.0.0.1:5000即可

这是官方的例子。

python动态绘图教程(Python动态绘图的方法)(3)

在此基础上修改为折线图

from pyecharts import Line #引入不同的图形模块

from flask import Flask render_template

import numpy as np

app = Flask(__name__)

REMOTE_HOST = "https://pyecharts.github.io/assets/js" #远程js库,可以下载全部到自己的服务器上,修改这个路径就可以了

@app.route("/")

def hello():

myline=mydata_line() #这个地方就是基本的pyechart图形绘制,返回一个图形对象

return render_template(

"pyecharts.html" #模板的名称,模板默认位置在templates文件夹下

myechart=myline.render_embed() #给模板传递echart图形参数

host=REMOTE_HOST #js库的位置

script_list=myline.get_js_dependencies() #给模块传echart图形的js代码,我理解的,不一定对

)

#此函数就是普通的画图函数,数据怎么处理都可以,利用基本知识

def mydata_line():

x=list(range(50))

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

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

line=Line("折线图flask")

line.add("A" x y1)

line.add("B" x y2)

#line.render("myechart001.html") # 生成html文件,这是静态方法生成网页

return line

if __name__=='__main__':

app.run(debug=True)

python动态绘图教程(Python动态绘图的方法)(4)

html文件的内容不变,还利用官方例子的内容。

这种方法,比较简单可以快速的发布html格式的网页,但是问题是html网页的内容比较单一,需要根据需求进行修改,但是应用的案例比较少,属于小众方法。

主要问题:没有方法实现动态刷新图形图形的方法,图形都是利用已知的数据,生成静态的html网页进行发布,因此不适用动态刷新的方法

扩展思路,直接利用底层得echart进行数据展示

猜您喜欢: