1、
from flask import Flask, render_template
from pyecharts import options as opts
from pyecharts.charts import Line, Pie
import random
app = Flask(__name__)
def line_chart():
x = list(range(10))
y = [random.randint(1, 10) for _ in x]
line = (
Line()
.add_xaxis(x)
.add_yaxis("随机数", y)
.set_global_opts(title_opts=opts.TitleOpts(title="随机折线图"))
)
return line.dump_options()
def pie_chart():
labels = ['A', 'B', 'C']
data = [random.randint(1, 10) for _ in labels]
pie = (
Pie()
.add("", [list(z) for z in zip(labels, data)])
.set_global_opts(title_opts=opts.TitleOpts(title="随机饼图"))
)
return pie.dump_options()
@app.route('/')
def index():
line_options = line_chart()
pie_options = pie_chart()
return render_template('index.html', line_options=line_options, pie_options=pie_options)
if __name__ == "__main__":
app.run(debug=True)
2、templates文件夹下
index.html
<head>
<!-- 引入 ECharts 文件 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>
</head>
<body>
<h3>随机折线图</h3>
<div id="lineChart" style="width: 600px;height:400px;"></div>
<h3>随机饼图</h3>
<div id="pieChart" style="width: 600px;height:400px;"></div>
<script>
var lineChart = echarts.init(document.getElementById('lineChart'));
lineChart.setOption({{ line_options|safe }});
var pieChart = echarts.init(document.getElementById('pieChart'));
pieChart.setOption({{ pie_options|safe }});
</script>
</body>
3、设置花生壳,把flask的内网地址、端口填入,ok
4、
动态图