python开发数据可视化网站_Python:Django框架开发数据可视化网站

建议使用 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 $ ls db.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,我们再引入后端服务函数

1 # myfirstvis/urls.py 2 from django.conf.urls import url 3 4 from . import views 5 6 urlpatterns = [ 7 url(r'^$', views.index, name='index'), 8 ]

myechartsite/urls.py

1 myechartsite/urls.py 2 from django.conf.urls import include, url 3 from django.contrib import admin 4 5 urlpatterns = [ 6 url(r'^admin/', admin.site.urls), 7 url(r'myfirstvis/', include('myfirstvis.urls')) #

Step 2: 处理视图功能部分

myfirstvis/views.py

1 from __future__ import unicode_literals 2 import math 3 4 from django.http import HttpResponse 5 from django.template import loader 6 from pyecharts import Line3D 7 8 9 REMOTE_HOST = "https://pyecharts.github.io/assets/js" 10 11 12 def index(request): 13 template = loader.get_template('myfirstvis/pyecharts.html') 14 l3d = line3d() 15 context = dict( 16 myechart=l3d.render_embed(), 17 host=REMOTE_HOST, 18 script_list=l3d.get_js_dependencies() 19 ) 20 return HttpResponse(template.render(context, request)) 21 22 23 def line3d(): 24 _data = [] 25 for t in range(0, 25000): 26 _t = t / 1000 27 x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t) 28 y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t) 29 z = _t + 2.0 * math.sin(75 * _t) 30 _data.append([x, y, z]) 31 range_color = [ 32 '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', 33 '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] 34 line3d = Line3D("3D line plot demo", width=1200, height=600) 35 line3d.add("", _data, is_visualmap=True, 36 visual_range_color=range_color, visual_range=[0, 30], 37 is_grid3D_rotate=True, grid3D_rotate_speed=180) 38 return line3d

cript_list

Step 3: 为项目提供自己的模板

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

/myfirstvis/templates/myfirstvis

1 2 3 4 5

6 7 Proudly presented by PycCharts 8 {% for jsfile_name in script_list %} 9 10 {% endfor %} 11 12 13 14 {{ myechart|safe }} 15 16 17

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:38 Django version 1.11.4, using settings 'myechartsite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

看到了吧,只需要简单的几步就可以使用 pyecharts 创建可视化的图表。Django 官方教程需要七步的这里我们三步就搞定了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值