【python 可视化】pyecharts + Django 使用指南
来源:互联网 发布:大众网络报17年还有吗 编辑:程序博客网 时间:2024/05/23 17:16
本指南按照 Django 官方教程,通过完成一个 Django 小项目来说明如何在 Django 中使用 pyecharts。如果对 Django 还不太熟悉的开发者,可仔细阅读官方提供的最新文档。
Step 0: 使用新的 virtualenv 环境
建议开发者使用 1.11.4 版本的 Django
$ virtualenv --no-site-packages pyecharts-env$ source pyecharts-env/bin/activate$ pip install django==1.11.4$ pip install pyecharts
Step 1: 新建一个 django 项目
$ django-admin startproject myechartsite
创建一个应用程序
$ python manage.py startapp myfirstvis$ lsdb.sqlite3 manage.py myechartsite myfirstvis
在 myechartsite/settings.py 中注册应用程序
# myechartsite/settings.py...INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myfirstvis' # <---]...
我们先编辑 urls.py.这文件在 Django 里的功能是把前段的 HTTP 需求和后台服务函数挂钩。在 Step3,我们再引入后端服务函数
# myfirstvis/urls.pyfrom django.conf.urls import urlfrom . import viewsurlpatterns = [ url(r'^$', views.index, name='index'),]在 myechartsite/urls.py 中新增 'myfirstvis.urls'myechartsite/urls.pyfrom django.conf.urls import include, urlfrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'myfirstvis/', include('myfirstvis.urls')) # <---]
Step 2: 处理视图功能部分
将下列代码保存到 myfirstvis/views.py 中。
from __future__ import unicode_literalsimport mathfrom django.http import HttpResponsefrom django.template import loaderfrom pyecharts import Line3Dfrom pyecharts.constants import DEFAULT_HOSTdef index(request): template = loader.get_template('myfirstvis/pyecharts.html') l3d = line3d() context = dict( myechart=l3d.render_embed(), host=DEFAULT_HOST, script_list=l3d.get_js_dependencies() ) return HttpResponse(template.render(context, request))def line3d(): _data = [] for t in range(0, 25000): _t = t / 1000 x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t) y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t) z = _t + 2.0 * math.sin(75 * _t) _data.append([x, y, z]) range_color = [ '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] line3d = Line3D("3D line plot demo", width=1200, height=600) line3d.add("", _data, is_visualmap=True, visual_range_color=range_color, visual_range=[0, 30], is_grid3D_rotate=True, grid3D_rotate_speed=180) return line3d
script_list 是 Page() 类渲染网页所需要依赖的 echarts js 库,依赖的库的数量取决于所要渲染的图形种类。
host 是 echarts js 库的地址,默认的地址为 http://chfw.github.io/jupyter-echarts/echarts 当然,如果你愿意你也可以改变这个地址,先克隆 https://github.com/chfw/jupyter-echarts 然后将 echarts 文件夹挂载在你自己的服务器上即可。
Step 3: 为项目提供自己的模板
前面的步骤是按照 tutorial part 1,接下来我们跳到 tutorial part 3
Linux/macos 系统
$ mkdir templates/myfirstvis -p
Windows 系统
在 myfirstvis 目录下,新建 templates/myfirstvis 子目录
myfirstvis 目录
─ myfirstvis
├── admin.py
├── apps.py
├── init.py
├── migrations
│ ├── init.py
├── models.py
├── templates
│ └── myfirstvis
│ └── pyecharts.html
├── tests.py
├── urls.py
└── views.py
将下面 html 模板代码保存为 pyecharts.html,请确保 pyecharts.html 文件的绝对路径为 /myfirstvis/templates/myfirstvis
<!-- myfirstvis/templates/pyecharts.html --><!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Proudly presented by PycCharts</title> {% for jsfile_name in script_list %} <script src="{{host}}/{{jsfile_name}}.js"></script> {% endfor %}</head><body> {{myechart|safe}}</body></html>
Step 4: 运行项目
$ cd myechartsite$ python manage.py runserver
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.August 08, 2017 - 05:48:38Django version 1.11.4, using settings 'myechartsite.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.
访问 http://localhost:8000/myfirstvis/,你就可以看到酷炫的 3D 图了
- 【python 可视化】pyecharts + Django 使用指南
- 【python 可视化】pyecharts + Flask 使用指南
- python数据可视化利器--pyecharts
- python数据可视化利器--pyecharts
- pyecharts:基于python地理地图可视化详解
- pyecharts和matplotlib:基于python柱状图可视化
- 【python 数据可视化】pyecharts的使用
- pyecharts+Django 使用指南====>Anaconda实现运行
- python的数据可视化库 matplotlib 和 pyecharts
- matplotlib与pyecharts:词云可视化
- 【Django】Django 模型 使用指南
- Python Django+Echarts将数据作可视化输出
- 【Python学习系列二十八】绘图库pyecharts
- Django south 使用指南
- python 可视化
- python可视化
- python 可视化
- python可视化
- 删除链表中重复的节点
- android日历多选 日历插件
- spring mvc 4 + swagger2
- JS前端基础-数据类型
- GPU和CUDA基础介绍
- 【python 可视化】pyecharts + Django 使用指南
- PHP将二维数组某一个字段相同的数组合并起来的方法
- maven如何添加oracle依赖
- 车辆计数--FCN-rLSTM: Deep Spatio-Temporal Neural Networks for Vehicle Counting in City Cameras
- 【Codeforces Round #430 (Div. 2) D】 D. Vitya and Strange Lesson ("带lazy" 的字典树)
- UnicodeDecodeError: 'gb2312' codec can't decode byte 0x88 in position 164111: illegal multibyte sequ
- Java中hashCode的作用
- HTML5解析--img标签--alt和title差别
- CUDA和OpenCL