Django集成pyecharts实现多图表同页展示实战

闻溪
闻溪
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍如何在Django项目中集成pyecharts库,实现多图表在同一页面中的展示。内容涵盖从创建Django应用、编写视图函数到配置URLconf的完整流程,并重点解析利用pyecharts的Page接口处理大规模数据(如近2万条测试集)时的分页显示技巧,帮助开发者解决大数据量下的可视化难题。

Django应用创建与配置

一、创建Application

进入与manage.py文件同级目录,执行以下命令:

py manage.py startapp NLP

随后在settings.py文件中注册该Application:


# Application definition
#包含项目中启用的所有Django应用
INSTALLED_APPS = [
 'polls.apps.PollsConfig',#将创建的polls添加到项目中
 'NLP'
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
]

视图函数编写

二、编写视图

打开系统自动生成的NLP文件夹,编辑views.py文件,添加如下代码以创建一个名为index的视图函数:


from django.http import HttpResponse
 
def index(request):
 return HttpResponse("Hello, world. You're at the NLP index.")

URLconf路由配置详解

三、编写URLconf

1、为使上述index视图拥有对应的URL映射,需在应用同级目录下新建urls.py文件,并写入如下配置:


from django.urls import path
from . import views
urlpatterns = [
 path('', views.index, name='index'),
]

path()函数的参数说明:

route(必填项)

route用于定义匹配URL的规则(类似于正则表达式)。当Django接收到请求时,它会从urlpatterns列表的第一项开始,按顺序逐一匹配,直到找到符合规则的项为止。

view(必填项)

一旦Django匹配到对应的规则,便会调用指定的视图函数,并将HttpRequest对象作为第一个参数传入,同时将被“捕获”的参数以关键字参数的形式传递。

name(可选)

为URL命名允许在Django的任何位置(包括模板中)唯一地引用它。这一特性非常实用,只需修改一个文件即可全局更新某个URL模式。

kwargs(可选)

可以传递任意数量的关键字参数,它们将作为字典传递给目标视图函数。

2、在根URLconf中引入刚才新建的NLP应用urls模块,打开mysit/urls.py,并在其urlpatterns列表中添加一个include()调用:


from django.contrib import admin
from django.urls import path,include
 
urlpatterns = [
 path('admin/', admin.site.urls),
  path('NLP',include('NLP.urls')),#包含app NLP的所有url
]

include()函数允许引用其他URLconf文件。当Django遇到django.urls.include时,它会截断与该路径匹配的部分,并将剩余的字符串发送给被引用的URLconf进行进一步处理。

服务运行与效果验证

四、运行查看

完成上述配置后,即可验证效果,执行以下命令启动服务:

py manage.py runserver

随后打开本地站点地址进行查看。

pyecharts多图表同页展示实战

补充知识:pyecharts多图表同一页显示

可视化能力是我的短板,需要加强练习。

出于对颜值的追求,我选择了pyecharts。

今天进行回归分析时,需要直观观察数据表现,但由于数据量巨大,测试集包含将近2万条数据,单张图表无法完整展示,因此查阅了pyecharts多图表显示的相关问题。

pyecharts提供了一个Page接口,只需调用add方法并传入“待添加图表名”即可实现多图表组合。

以下是官方提供的接口调用示例:


  from pyecharts import Page, Line, Bar
  page = Page()
  line = Line('Demo Line')
  # ... Add data to line
  page.add_chart(line, name='line')
  bar = Bar('Demo kline')
  # ... Add data to bar
  page.add_chart(bar)

我的实际应用场景如下:


  from pyecharts import Page,Line
  page = Page()
  attr = list(range(1,(len(X_test)+1)))
  v1 = list(y_test)
  v2 = list(y_pred)
  for i in range(0,2):
    line = Line()
    att = attr[100*i:100*(i+1)+1]
    v_test = v1[100*i:100*(i+1)+1]
    v_pred = v2[100*i:100*(i+1)+1]
    line.add("实际",att,v_test,is_smooth=True)
    line.add("预测",att,v_pred,is_smooth=True)
    page.add_chart(line)
  page

再次感叹,有了pyecharts,再也不用担心不会画图了。

以上这篇Django与pyecharts结合的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表