美文网首页
初学 Matplotlib之 与Web的交互

初学 Matplotlib之 与Web的交互

作者: AllenBigBear | 来源:发表于2019-12-10 21:35 被阅读0次

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

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

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

    1:Views函数

    import base64
    from io import BytesIO
    from 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: 效果图

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


    效果图

    相关文章

      网友评论

          本文标题:初学 Matplotlib之 与Web的交互

          本文链接:https://www.haomeiwen.com/subject/qjriwctx.html