热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

Step0:使用新的virtualenv环境建议使用1.11.4版本的Django$virtualenv--no-site-packagespyecharts-env$source

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

$ 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 中新增 'myfirstvis.urls'

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')) #

8 ]

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 是 Page() 类渲染网页所需要依赖的 echarts js 库,依赖的库的数量取决于所要渲染的图形种类。

host 是 echarts js 库的地址,默认提供的地址为 https://pyecharts.github.io/assets/js 当然,如果你愿意你也可以改变这个地址,先克隆 https://github.com/pyecharts/assets 然后将 js 文件夹挂载在你自己的服务器上即可。

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

将下面 html 模板代码保存为 pyecharts.html,请确保 pyecharts.html 文件的绝对路径为 /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 官方教程需要七步的这里我们三步就搞定了。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!



推荐阅读
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • This document outlines the recommended naming conventions for HTML attributes in Fast Components, focusing on readability and consistency with existing standards. ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文探讨了在Java多线程环境下,如何确保具有相同key值的线程能够互斥执行并按顺序输出结果。通过优化代码结构和使用线程安全的数据结构,我们解决了线程同步问题,并实现了预期的并发行为。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文探讨了在Oracle数据库中,动态SQL语句的执行及其对事务管理的影响,特别是关于回滚操作的有效性。重点讨论了一个具体场景:将预警短信从当前表迁移到历史表时遇到的字段长度不匹配问题及相应的异常处理。 ... [详细]
author-avatar
秦schueler
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有