python做的数据图表怎么在flask中显示_Flask使用Pyecharts在单个页面展示多个图表的方法...

本文介绍了如何在Flask应用中使用Pyecharts展示多个数据图表,包括Pyecharts的不同渲染方法及其在Flask中的适用性。通过dump_options()方法,可以在模板中初始化多个echarts实例,实现单个页面展示多个图表。
摘要由CSDN通过智能技术生成

在Flask页面展示echarts,主要有两种方法:

方法1、原生echarts方法

自己在前端引入echarts.js文件、自己创建div、自己初始化echarts对象、自己从官网复制并且配置图表、自己给echarts对象设置配置项实现绘制,这种方法的缺点是配置项都是js的形式比较繁琐,对于后端开发人员来说有点过于参与前端js部分的配置开发;

这种方式参照echarts官网的方式,其实跟flask没有多大关系,php/java不同后端语言都一样,地址

方法2:使用pyecharts

pyecharts主要是做了一件事情,把js的配置option,完全抽离使用Python代码配置,把js的数据结构使用python的代码结构实现,让后端开发只需要配置数据就能搞定图表,真的很像matplotlib,当然echarts的强大使得pyecharts更强大;

但是这里真的要吐槽pyecharts,因为它包含多种输出图表结果的方式,没有一种是能够和flask完美配合的:

render()方法:默认会在当前目录生成 render.html 文件;这是什么鬼,什么场景会用到这种方式,竟然是默认的方式?真是怪异;

render()方法传入路径参数:传入路径参数,如 bar.render(“mycharts.html”),这种方法好一点,可以设定文件路径,但是为毛要输出一个HTML,另外一点,我做一个网页,难道这个网页上除了这个图表没有其他数据和展示了?只有一个大大的echarts图表?

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在一个页面展示多个pyecharts,您可以使用Flask的render_template函数来渲染一个包含多个图表的HTML模板。 首先,您需要创建一个包含多个图表python脚本。例如,您可以使用以下代码创建两个饼: ```python from pyecharts import options as opts from pyecharts.charts import Pie from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): pie1 = ( Pie() .add("", [list(z) for z in zip(["A", "B", "C", "D", "E"], [1, 2, 3, 4, 5])]) .set_global_opts(title_opts=opts.TitleOpts(title="Pie1")) ) pie2 = ( Pie() .add("", [list(z) for z in zip(["F", "G", "H", "I", "J"], [5, 4, 3, 2, 1])]) .set_global_opts(title_opts=opts.TitleOpts(title="Pie2")) ) return render_template("index.html", pie1=pie1, pie2=pie2) if __name__ == "__main__": app.run(debug=True) ``` 在这个示例,我们定义了两个饼,分别命名为pie1和pie2。在index()函数,我们将这两个图表作为参数传递给render_template函数,以便在HTML模板使用。 接下来,您需要创建一个HTML模板,用于在一个页面展示这两个图表。例如,您可以使用以下代码创建一个包含两个容器的HTML模板: ```html <!DOCTYPE html> <html> <head> <title>Flask Pyecharts</title> </head> <body> <div id="pie1" style="height:500px;width:500px;"></div> <div id="pie2" style="height:500px;width:500px;"></div> <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.min.js"></script> {{ pie1.render_embed() }} {{ pie2.render_embed() }} </body> </html> ``` 在这个示例,我们定义了两个div容器,分别命名为pie1和pie2。在每个容器下方,我们使用pyecharts的render_embed()函数来生成图表的HTML代码,并将其嵌入到模板。 最后,您需要运行这个应用程序,并通过浏览器访问它。如果一切正常,您应该能够在一个页面上看到两个饼
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值