Pyecharts在Django中显示方式

 更新时间:2025年08月18日 09:53:14   作者:威武的小炮  
文章介绍了使用pyecharts在Django中实现网页图表显示的两种方式,重点讲解通过JSON传输到前端并结合ajax异步刷新的实现方法,包含后端生成图表数据和前端加载展示的步骤,强调数据真实性不重要

Pyecharts在Django中显示

因为pyecharts是支持python的一种可视化,但是想要将其放入网页中

主要有两种方法:

  • (1)在网页中假如iframe,将网页嵌在iframe中(该方法不具体描述)
  • (2)使用json传输到前端,对其进行展示

具体描述第2种方法如下:

假设用pyecharts画一张折线图

def line():
    attr = ['教师', '教授', '副教授', '博导', '硕导', '国家级奖项', '省部级奖项', '院士', '荣誉学者', '专利']
    v1 = [100, 20, 15, 50, 40, 200, 200, 4, 5, 100]
    v2 = [150, 30, 40, 50, 30, 250, 200, 1, 2, 110]
    line = Line(width=1834, height=400)
    line.add('北京大学', attr, v1,
             mark_point=['average', 'max', 'min'],  # 标注点:平均值,最大值,最小值
             mark_point_symbol='diamond',  # 标注点:钻石形状
             mark_point_textcolor='#40ff27')  # 标注点:标注文本颜色
    line.add('清华大学', attr, v2,
             mark_point=['average', 'max', 'min'],
             mark_point_symbol='arrow',
             xaxis_name_size=20,
             yaxis_name_size=20,
             )
    return line

具体的图标如图所示:

接下来,想要用其传到前端,进行显示,需要在Django的app的views.py中添加代码。

def university_picture(request):
        template = loader.get_template('search/test.html')
        l = line() 			#生成图像实例
        context = dict(
            myechart=l.render_embed(),  #必须要有
            host=REMOTE_HOST,	#若前端加载了对应的echarts库,可以不需要这一句和下一句
            script_list=l.get_js_dependencies(),#以上两句代码的目的是下载该图标对应的一些echarts库
        )
        return HttpResponse(template.render(context, request))

后端代码在这里就介绍完,底下需要介绍一下前端的代码。

  • 前端第一步,加载头文件:
{% for jsfile_name in script_list %}
<script type="text/javascript" src="{{ host }}/{{ jsfile_name }}.js"></script>
{% endfor %}
  • 第二步,将图标显示出来(注:以下代码的class以及id,可以根据自己的网页结构进行替换,不需要相同)
<div class="row placeholders" id="pic">
                {{myechart|safe}}
</div>

Pyecharts的图表在Django中显示的功能模块

就介绍完了,下面展示一下,使用ajax+pyecharts+Django实现的异步刷新图表(注:不要太在意数据的真实性):

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Win10+python3.6+git运行出现问题的解决

    Win10+python3.6+git运行出现问题的解决

    这篇文章主要介绍了Win10+python3.6+git运行出现问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 解决Keras自带数据集与预训练model下载太慢问题

    解决Keras自带数据集与预训练model下载太慢问题

    这篇文章主要介绍了解决Keras自带数据集与预训练model下载太慢问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现电子书翻页小程序

    python实现电子书翻页小程序

    这篇文章主要为大家详细介绍了python实现电子书翻页小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python语言中的if语句详情

    Python语言中的if语句详情

    这篇文章主要介绍了Python语言中的if语句详情,每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试,下面文章介绍python语言的if语句详细内容,需要的小伙伴可以参考一下
    2022-02-02
  • Python 中 Pandas 文件操作和读取 CSV 参数详解

    Python 中 Pandas 文件操作和读取 CSV 参数详解

    CSV 又称逗号分隔值文件,是一种简单的文件格式,以特定的结构来排列表格数据,这篇文章主要介绍了Python 之 Pandas 文件操作和读取 CSV 参数详解,需要的朋友可以参考下
    2023-03-03
  • 浅谈Pycharm中的Python Console与Terminal

    浅谈Pycharm中的Python Console与Terminal

    今天小编就为大家分享一篇浅谈Pycharm中的Python Console与Terminal,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python实现人机五子棋

    python实现人机五子棋

    这篇文章主要为大家详细介绍了python实现人机五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python安装lz4-0.10.1遇到的坑

    Python安装lz4-0.10.1遇到的坑

    本篇文章给大家分享了Python安装lz4-0.10.1的详细过程以及遇到的坑,需要的读者们参考下。
    2018-05-05
  • Python可变对象与不可变对象原理解析

    Python可变对象与不可变对象原理解析

    这篇文章主要介绍了Python可变对象与不可变对象原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python基础之模块的导入

    python基础之模块的导入

    这篇文章主要介绍了python模块的导入,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10

最新评论