热门标签 | 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 官方教程需要七步的这里我们三步就搞定了。

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



推荐阅读
  • Django项目中配置媒体文件路径的详细步骤与最佳实践
    在Django项目中配置媒体文件路径的详细步骤包括:首先,创建一个新的应用(如 `app02`),然后在 `settings.py` 文件中配置媒体文件的存储路径。具体来说,需要导入 `os` 模块,并使用 `os.path.join` 方法来指定媒体文件的保存目录。此外,建议在开发和生产环境中分别设置不同的媒体文件路径,以确保项目的灵活性和安全性。为了更好地管理和访问媒体文件,还可以在 `urls.py` 中添加相应的URL配置,以便在开发服务器上直接访问这些文件。 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • Django框架下的对象关系映射(ORM)详解
    在Django框架中,对象关系映射(ORM)技术是解决面向对象编程与关系型数据库之间不兼容问题的关键工具。通过将数据库表结构映射到Python类,ORM使得开发者能够以面向对象的方式操作数据库,从而简化了数据访问和管理的复杂性。这种技术不仅提高了代码的可读性和可维护性,还增强了应用程序的灵活性和扩展性。 ... [详细]
  • 本文深入分析了Django框架中模型应用与非模型应用的区别与应用场景,详细对比了两者在数据处理、性能表现及开发灵活性等方面的特点。同时,文章还介绍了如何在视图函数中有效利用这些特性,结合PostgreSQL、MySQL、SQLite3和Oracle等不同数据库的配置与使用方法,为开发者提供了全面的参考指南。 ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • 在Python 2.7环境中使用PyCharm进行Cvxopt的安装及线性规划问题求解。具体步骤包括:通过PyCharm的文件菜单进入项目设置,选择解释器选项,点击右侧的“+”按钮,在可用包列表中搜索并安装Cvxopt。安装完成后,可以通过导入Cvxopt库并调用其函数来解决线性规划问题,提高模型的准确性和效率。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • Django新手指南:第三步——构建你的首个项目
    在本教程中,我们将引导你完成创建第一个Django应用的步骤。通过实际操作,你将逐步了解Django框架的核心概念和基本功能。从项目结构到视图和模板的实现,我们将详细介绍每个环节,帮助你快速上手并构建出一个功能完整的Web应用。 ... [详细]
  • 如何在Android应用中设计和实现专业的启动欢迎界面(Splash Screen)
    在Android应用开发中,设计与实现一个专业的启动欢迎界面(Splash Screen)至关重要。尽管Android设计指南对使用Splash Screen的态度存在争议,但一个精心设计的启动界面不仅能提升用户体验,还能增强品牌识别度。本文将探讨如何在遵循最佳实践的同时,通过技术手段实现既美观又高效的启动欢迎界面,包括加载动画、过渡效果以及性能优化等方面。 ... [详细]
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • 在 Asp.net 应用中,动态加载 DropDownList 控件的数据源是一项常见需求。本文探讨了如何高效地从数据库中获取数据,并实时更新下拉列表,确保用户界面始终与后台数据保持同步。通过使用 ADO.NET 和 LINQ to SQL 技术,开发者可以轻松实现这一功能,同时提高应用的性能和用户体验。文中还提供了代码示例和最佳实践,帮助开发者解决常见的数据绑定问题。 ... [详细]
  • 优化Django应用中的MySQL连接池配置方法
    django设置mysql连接池 导库 pipinstalldjango-db-connection-poolsettings.py设置 将ENGINEdjango.db.back ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
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社区 版权所有