flask利用echarts 制作图例(主要演示向echarts传递数据)

目的:使用echarts制作动态图例
要求:echarts数据为flask传递数据

PS: 网上找了一大堆实在是太复杂,看不懂,自己搞了一个简易的,希望可以帮助使用到的人。

注意事项:
建好的HTML文件要放置在templates文件目录下,要不flask找不到该文件。

上源码
发送数据文件:APP.PY
接收数据文件:index.html

app.py


from flask import jsonify ,Flask,request
from flask import render_template
categories=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
data=[5, 20, 36, 10, 10, 20]
app = Flask (__name__)
@app.route('/', methods=["GET"])
def index():
     return render_template("index.html")
@app.route('/echarts', methods=["GET"]) #echarts 名字可以改为任意,但一定要与HTML文件中一至
def echarts():
    return jsonify(categories = categories,data =data)
app.run()

index.html

<!DOCTYPE html>
<html style="height: 100%" lang="en">
<head>
    <meta charset="utf-8">
    <title>My Finance</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
    <script src="https://cdn.staticfile.org/echarts/4.8.0/echarts.min.js"></script>
	<!-- 引入 vintage 主题 -->

</head>

<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width:1000px;height:800px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 显示标题,图例和空的坐标轴
        myChart.setOption({
           title: {
           text: '异步数据加载示例'
        },
        tooltip: {},
        legend: {
        data:['销量']
        },
        xAxis: {
        data: []
        },
        yAxis: {},
        series: [{
        name: '销量',
        type: 'bar',
        data: []
         }]
         });

// 异步加载数据
$.get('/echarts').done(function (data) {
    // 填入数据
    myChart.setOption({
        xAxis: {
            data: data.categories                 //flask传递过来的数据categories
        },
        series: [{
            // 根据名字对应到相应的系列
            name: '销量',
            data: data.data      //flask传递过来的数据data
        }]
    });
});


         // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);


    </script>
</body>
</html>

相关链接:
1、机智出品 :
Flask+Echarts+sqlite搭建股票实时行情监控 https://www.jianshu.com/p/6e42ca3d8d59 (我下载了源文件,确实可用。但是对我来讲太复杂,用不到。有缘人看看吧。)
2、(视频)子沐老司:基于Flask+Mysql+Echarts的职位数据可视化
https://www.ixigua.com/i6405739434051256577/?logTag=_gAiqztZHIa6h1ndh1Y-v
(讲得挺好,但我试过后不成功,不知道啥原因。有缘人看看吧。)

补充一下,如果传递多个变更HTML接收应该如何写。

实例:

myChart.setOption({
        xAxis: {
            data:data.yfeng
        },
        series: [{
            // 根据名字对应到相应的系列['化学需氧量', '氨氮','二氧化硫','氮氧化物']
            name: '化学需氧量',
            data: data.hxxyl,
             },
             {
            name: '氨氮',
            data: data.andan,
            },
           {
            name: '氮氧化物',
            data: data.danyanghuawu,
            },
            {
            name: '二氧化硫',
            data: data.eryanhualiu,
        }]
    });
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask 是 Python 中一款轻量级的 Web 应用框架,而 ECharts 是一款由百度开发的数据可视化工具,支持多种图表类型和交互方式。本文将介绍如何使用 FlaskECharts 制作数据大屏。 1. 安装 FlaskECharts 首先需要安装 FlaskECharts,可以使用 pip 命令进行安装: ``` pip install Flask pip install pyecharts ``` 2. 构建 Flask 应用 创建一个名为 app.py 的 Python 文件,然后编写 Flask 应用代码: ```python from flask import Flask, render_template from pyecharts.charts import Bar from pyecharts import options as opts app = Flask(__name__) @app.route("/") def index(): # 构建数据 data = [("A", 23), ("B", 45), ("C", 67), ("D", 89)] # 构建图表 bar = ( Bar() .add_xaxis([x[0] for x in data]) .add_yaxis("数值", [x[1] for x in data]) .set_global_opts(title_opts=opts.TitleOpts(title="数据大屏")) ) # 渲染模板 return render_template("index.html", chart=bar.render_embed()) if __name__ == "__main__": app.run(debug=True) ``` 上面的代码中,我们首先导入了 Flask 和 pyecharts 库,然后创建了一个名为 app 的 Flask 应用实例。接着定义了一个名为 index 的路由,用于渲染数据大屏的首页。在 index 函数中,我们构建了一个简单的柱状图,然后使用 render_template 函数渲染名为 index.html 的模板,并将图表的 HTML 代码传递给模板。 3. 创建模板 在项目目录下创建一个名为 templates 的文件夹,然后在该文件夹下创建名为 index.html 的模板文件。在模板文件中,我们可以使用 Flask 提供的 Jinja2 模板语言,将图表的 HTML 代码插入到页面中: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据大屏</title> </head> <body> <div id="chart" style="width: 800px;height:400px;"></div> {{ chart|safe }} </body> </html> ``` 在上面的代码中,我们首先创建了一个 div 容器,用于显示图表。然后使用 {{ chart|safe }} 语句将图表的 HTML 代码插入到页面中,其中 safe 过滤器表示不对插入的代码进行转义。 4. 运行应用 完成上述步骤后,我们就可以运行应用了。使用命令行进入项目目录,然后执行以下命令: ``` python app.py ``` 然后在浏览器中访问 http://localhost:5000,就可以看到我们创建的数据大屏了。 总结 本文介绍了如何使用 FlaskECharts 制作数据大屏。通过本文的介绍,我们可以了解到如何使用 Flask 构建 Web 应用,并使用 ECharts 制作图表。当然,本文中的示例非常简单,实际应用中可能需要更复杂的数据处理和图表展示方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值