Django2.2+pyecharts的一个简单小例子~柱形图和世界地图

本文介绍如何将PyEcharts图表库与Django框架结合使用来展示动态数据图表。通过具体的步骤说明了项目的搭建过程,包括环境配置、视图函数编写及模板文件设置等,并给出了一个包含柱状图和世界地图的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料

  • pyecharts的github主页

  • 官网实例

  • https://blog.youkuaiyun.com/Co_zy/article/details/89792279

  • https://www.cnblogs.com/wumingxiaoyao/p/8508060.html

以下是代码

首先创建项目项目、应用、在settings中注册

diango-adminstartprojectpyecharts_django_demo
cdpyecharts_django_demo
pythonmanage.pystartappdemo

按照官网说的在demo文件夹下新建templates文件夹,复制模板文件到这个目录下 配置路由

### pyecharts_django_demo目录下的url文件
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('demo/',include('demo.urls',namespace='demo')),
]

### demo目录下的urls
from django.urls import path
from . import views

app_name = 'demo'

urlpatterns = [
    path('',views.index,name='index'),
]

视图函数

from django.shortcuts import render

from jinja2 import Environment, FileSystemLoader
from pyecharts.globals import CurrentConfig
from django.http import HttpResponse

CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./demo/templates"))

from pyecharts import options as opts
from pyecharts.charts import Bar, Map
from pyecharts.faker import Faker


# Create your views here.

def index(request):
    bar_plot = (
        Bar()
        .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
        .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
        .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
    )
    bar_plot = bar_plot.render_embed()
    world_map = (
    Map()
    .add("", [list(z) for z in zip(Faker.country, Faker.values())], "world",is_map_symbol_show=False,is_roam=False)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Map-世界地图"),
        visualmap_opts=opts.VisualMapOpts(max_=200))
    )
    world_map = world_map.render_embed()
    context = {'bar_plot':bar_plot,'world_map':world_map}
    return render(request,'demo/index.html',context=context)

配置模板文件

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>pyecharts加Django的小例子</title>
        <!-- CSS only -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    </head>
    <body>
        <div class="container">
            <h1 style="color: crimson;">你好吗?</h1>
            {{ bar_plot | safe }}
        </div>
        <br>
        <div class="container">
            {{ world_map | safe }}
        </div>
    </body>
</html>

启动服务器

pythonmanang.py runserver

最终效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值