《基于Django的数据可视化应用研究_1》由会员分享,可在线阅读,更多相关《基于Django的数据可视化应用研究_1(7页珍藏版)》请在金锄头文库上搜索。
1、 基于Django的数据可视化应用研究 (民族语言智能处理甘肃省重点实验室 甘肃兰州 730000)摘 要:一方面,随着数据可视化技术的不断发展,互联网上存在许多可视化应用开发接口,其中以Echarts和Highcharts最为著名。另一方面,由于Python的Web框架能够进行快速开发的特点越来越多的被企业所采用。本文介绍了数据可视化常用方法并针对Echarts和Highcharts两种开源JS可视化图形库进行对比分析研究了Django框架的主要功能特性。关键词:可视化应用 Django Ehcarts Highcharts。引言在信息社会中,信息、知识成为重要的生产力要素,和物质、能量一起
2、构成社会赖以生存的三大资源。随着信息化的迅猛发展,人们需要处理的信息日益增多。如今互联网一天的信息量可达到1EB的惊人程度,面对如此庞大的数据,如何对海量数据信息进行分析、归纳,并从中发现隐藏的规律成为当今社会的重要问题。数据可视化技术的出现有效的解决了这个问题。作为重要的数据挖掘和分析手段数据可视化技术数据处理和显示领域中扮演着重要角色。一、数据可视化的常用方法和类库数据可视化的概念最早是在300年前被William Playfair首先提及,是一种将繁琐、杂乱的数据通过图形的手段直观、有效的数据呈现手段。这里将针对数据可视化的常用方法和类库进行介绍。11.常用方法在面对海量数据时,通过生动
3、形象的图形和图标形式能够大大提高数据的可读性。在数据可视化具体应用中,针对不同的数据数据类型需要选择相应的表达方法。根据数据的特征来划分,数据可分为单维数据、二维数据、多维数据、网络数据、时序数据和空间数据几大类。面对不同的数据类型均有有适合其自身的可视化方法,常用的数据可视化方法及其对应的数据类型信息如下:(1)散点图:散点图主要用于考察多个变量间的相关关系和聚焦效应及显示和比较数据的值,适用于二维和三维数据类型。(2)折线图:折线图类似于散点图,不同的是采用直线将个数据点链接起来的图形。折线图主要用于反映数据随时间变化的趋势变化,适用于二维数据的显示。2(3)柱状图:用于显示离散数据,利用
4、柱状图形的长度来反映数据的差异,适用于二维数据。(4)地图:地图是展现数据空间特性的重要可视化方法,地图结合散点图能够直观地展现数据的空间分布状态及具体数值。(5)饼图:通过饼图能够描述二维数据的局部和整体之间的占比关系。(6)雷达图:雷达图适用于表示单一或多个对象的多个特性的数值。雷达图通常用于对单一或者多个对象进行多个特性的对比分析,其对比结果及其直观。32.开源类库目前互联网上有许多开源的数据可视化框架,其中最具代表性的框架有Echarts和Highcharts。Echarts和Highcharts对可视化图表进行了封装,使用者只需要填入相应的数据类型就能得到绚丽的可视化图形,极大的简化
5、了可视化应用的开发。(1)EchartsEcharts由百度研发的一种基于javascript的前端图形库,其底层依赖于Canvas。除了具有专业的可视化图表类库,Echarts具有强大的图表交互功能,其组件包含在action和events两个类库中。(2)Highcharts同Echarts一样,Highcharts也是一种前端图形库。它是由国外团队研发的,在国外享有极高的声誉。Highcharts同样支持多种图表类型(如曲线图、区域图、柱状图、饼状图、雷达图以及各种图表的综合运用等等)和交互功能(如提示、放大、变焦等等),它的底层依赖于SVG。4自Echarts3.0和Echarts-X发
6、布以来,Echarts的功能已经非常全面。相对Echarts来讲,Highcharts在功能上还存在一些不足:在图表支持方面,Highcharts部支持力导布局图与和弦图。在功能交互方面,不支持拖拽重计算、数据视图、值域漫游和大规模散点。二、Django架构1.开发模式Django框架与其他常用的开源Web框架一样,也采用MVC的开发模式,根据其类库名称的特点称为MTV更为合适。5(1)MVCMVC(Model、View和Controller的缩写),是Web开发的通用的开发架构。它将界面设计、数据库设计以及界面交互分成独立的三个模块:视图(View)、模型(Model)和控制器(Contro
7、ller)。视图层主要是用于进行前端页面的设计和管理,模型层定义了数据表的结构和相关的业务逻辑,而控制层则负责定义处理用户请求和服务器如何响应的规则。(2)MTV在Django框架中对于视图和控制器层的模块命名有所不同。Django中的视图层模块被称谓Templates,控制器层模块被命名为View,因而被成为MTV设计模式。然而MTV和MVC在设计思想上没有什么不同,仅仅是命名规则不同而已。2.功能特点Django是基于Python语言的一种Web框架,基于Python强大的第三方库,其功能非常强大。使用Django进行Web开发可以让开发人员省去许多不必要的麻烦,从而达到快速开发。Djan
8、go在数据库访问、页面管理、表单处理和后台管理等方面设计十分灵巧:(1)数据库访问Django使用ORM的数据库访问机制。ORM机制能够让开发人员省去编写复杂的SQL语句的步骤,利用程序代码实现建库、建表等操作。(2)页面管理Django在页面管理方面类似于Jinjia2,具有模板的可继承性。通过这种机制可以将真个页面划分成若干小的功能模块,使用时直接导入而不必对代码进行复制粘贴。(3)表单处理Django可以通过ModelForm根据模型自动生成相应表单,并且可以通过对Form类的设置对表单进行验证。(4)后台管理Django拥有强大的后台管理功能,只需要在配置文件中设置参数便可开启。系统管
9、理者可以运用后台管理界面进行数据的访问、修改等操作。结语随着社会信息量的不断增加,可视化技术已不单单面向企业和单位而会越来越多的面向大众。Django作为一种能夠进行快速开发的Web框架,在面向大众的可视化话应用开发中将会扮演重要的角色。本文简单的讲解了Django框架和数据可视化的概念,并介绍了一些开源库,谨供开发爱好者参考斧正。参考文献1 朱成.基于Django 的安全威胁任务管理系统构建D. 复旦大学. 2011.2 郭力子. 基于开源的 Web 开发架构ZOPE/PythonJ. 计算机时代. 2008,(07).3 张宝辉,张金磊,黄龙翔(2013).计算机建模在教学评价中的应用研究
10、J.中国电化教育, (4):103-109.4 王亚卿,方龙. 浅析 python 在地图处理中的运用. 华东森林经理. 2008,(01).5 吴卫平, 王丽芳, 蒋泽军. 基于 ORM 的数据持久层框架研究J. 微电子学与计算机, 2008, 25(7): 188-191.作者简介侯佳奇,男,西北民族大学硕士研究生。本论文得到了西北民族大学中央专项(NO. Yxm2015188)的资助。 新教育时代教师版2017年10期新教育时代教师版的其它文章多媒体技术在小学低年级语文识字教学中的运用分析探析幼儿园游戏教学活动中的师幼关系浅谈初中思想政治教学中引导学生自主学习的方法简论微型日记在小学写作教学中的运用幼儿安全意识现状分析及培养策略“微课”在小学品德课堂教学中的优化运用 -全文完-