分享

初学 Matplotlib之 与Web的交互

 __天眼__ 2020-09-09

前几篇记录了最简单的一些图像的生成,不过,最终我还是想要将这个数据可视化功能,做进我的网站里面,和web进行交互。

搜索了一下,发现pyplot无法直接和web进行交互,并且在matplotlib里面的教程,也是通过Figure类进行web交互。
另外网上还有一种做法,是通过将数据可视化的结果存为图片后保存在服务器上,最后调用图片,虽然效果可以达到,但是我想要的结果,是一个“动态”的效果,每次都去查询数据并进行生成。

所以,跟着基础教程里的内容来做一遍,教程里是拿Flask来测试,不过也大同小异。

1:Views函数

import base64from io import BytesIOfrom matplotlib.figure import Figure# Create your views here.def test_page(request): fig = Figure() ax = fig.subplots() ax.plot([1, 2]) buf = BytesIO() fig.savefig(buf, format='png') data = base64.b64encode(buf.getbuffer()).decode('ascii') return HttpResponse(f'<img src='data:image/png;base64,{data}'/>')

2: 效果图

这样,每个球队的点的数据,就都可以显示了,目前每个球队的名字显示还有问题,后期再修改。


效果图

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约