国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django的數(shù)據(jù)可視化應(yīng)用研究

2017-04-26 18:21:53侯佳奇
新教育時(shí)代·教師版 2017年9期

摘 要:一方面,隨著數(shù)據(jù)可視化技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)上存在許多可視化應(yīng)用開發(fā)接口,其中以Echarts和Highcharts最為著名。另一方面,由于Python的Web框架能夠進(jìn)行快速開發(fā)的特點(diǎn)越來越多的被企業(yè)所采用。本文介紹了數(shù)據(jù)可視化常用方法并針對(duì)Echarts和Highcharts兩種開源JS可視化圖形庫(kù)進(jìn)行對(duì)比分析研究了Django框架的主要功能特性。

關(guān)鍵詞:可視化應(yīng)用 Django Ehcarts Highcharts。

引言

在信息社會(huì)中,信息、知識(shí)成為重要的生產(chǎn)力要素,和物質(zhì)、能量一起構(gòu)成社會(huì)賴以生存的三大資源。隨著信息化的迅猛發(fā)展,人們需要處理的信息日益增多。如今互聯(lián)網(wǎng)一天的信息量可達(dá)到1EB的驚人程度,面對(duì)如此龐大的數(shù)據(jù),如何對(duì)海量數(shù)據(jù)信息進(jìn)行分析、歸納,并從中發(fā)現(xiàn)隱藏的規(guī)律成為當(dāng)今社會(huì)的重要問題。數(shù)據(jù)可視化技術(shù)的出現(xiàn)有效的解決了這個(gè)問題。作為重要的數(shù)據(jù)挖掘和分析手段數(shù)據(jù)可視化技術(shù)數(shù)據(jù)處理和顯示領(lǐng)域中扮演著重要角色。

一、數(shù)據(jù)可視化的常用方法和類庫(kù)

數(shù)據(jù)可視化的概念最早是在300年前被William Playfair首先提及,是一種將繁瑣、雜亂的數(shù)據(jù)通過圖形的手段直觀、有效的數(shù)據(jù)呈現(xiàn)手段。這里將針對(duì)數(shù)據(jù)可視化的常用方法和類庫(kù)進(jìn)行介紹。[1]

1.常用方法

在面對(duì)海量數(shù)據(jù)時(shí),通過生動(dòng)形象的圖形和圖標(biāo)形式能夠大大提高數(shù)據(jù)的可讀性。在數(shù)據(jù)可視化具體應(yīng)用中,針對(duì)不同的數(shù)據(jù)數(shù)據(jù)類型需要選擇相應(yīng)的表達(dá)方法。根據(jù)數(shù)據(jù)的特征來劃分,數(shù)據(jù)可分為單維數(shù)據(jù)、二維數(shù)據(jù)、多維數(shù)據(jù)、網(wǎng)絡(luò)數(shù)據(jù)、時(shí)序數(shù)據(jù)和空間數(shù)據(jù)幾大類。面對(duì)不同的數(shù)據(jù)類型均有有適合其自身的可視化方法,常用的數(shù)據(jù)可視化方法及其對(duì)應(yīng)的數(shù)據(jù)類型信息如下:

(1)散點(diǎn)圖:散點(diǎn)圖主要用于考察多個(gè)變量間的相關(guān)關(guān)系和聚焦效應(yīng)及顯示和比較數(shù)據(jù)的值,適用于二維和三維數(shù)據(jù)類型。

(2)折線圖:折線圖類似于散點(diǎn)圖,不同的是采用直線將個(gè)數(shù)據(jù)點(diǎn)鏈接起來的圖形。折線圖主要用于反映數(shù)據(jù)隨時(shí)間變化的趨勢(shì)變化,適用于二維數(shù)據(jù)的顯示。[2]

(3)柱狀圖:用于顯示離散數(shù)據(jù),利用柱狀圖形的長(zhǎng)度來反映數(shù)據(jù)的差異,適用于二維數(shù)據(jù)。

(4)地圖:地圖是展現(xiàn)數(shù)據(jù)空間特性的重要可視化方法,地圖結(jié)合散點(diǎn)圖能夠直觀地展現(xiàn)數(shù)據(jù)的空間分布狀態(tài)及具體數(shù)值。

(5)餅圖:通過餅圖能夠描述二維數(shù)據(jù)的局部和整體之間的占比關(guān)系。

(6)雷達(dá)圖:雷達(dá)圖適用于表示單一或多個(gè)對(duì)象的多個(gè)特性的數(shù)值。雷達(dá)圖通常用于對(duì)單一或者多個(gè)對(duì)象進(jìn)行多個(gè)特性的對(duì)比分析,其對(duì)比結(jié)果及其直觀。[3]

2.開源類庫(kù)

目前互聯(lián)網(wǎng)上有許多開源的數(shù)據(jù)可視化框架,其中最具代表性的框架有Echarts和Highcharts。Echarts和Highcharts對(duì)可視化圖表進(jìn)行了封裝,使用者只需要填入相應(yīng)的數(shù)據(jù)類型就能得到絢麗的可視化圖形,極大的簡(jiǎn)化了可視化應(yīng)用的開發(fā)。

(1)Echarts

Echarts由百度研發(fā)的一種基于javascript的前端圖形庫(kù),其底層依賴于Canvas。除了具有專業(yè)的可視化圖表類庫(kù),Echarts具有強(qiáng)大的圖表交互功能,其組件包含在action和events兩個(gè)類庫(kù)中。

(2)Highcharts

同Echarts一樣,Highcharts也是一種前端圖形庫(kù)。它是由國(guó)外團(tuán)隊(duì)研發(fā)的,在國(guó)外享有極高的聲譽(yù)。Highcharts同樣支持多種圖表類型(如曲線圖、區(qū)域圖、柱狀圖、餅狀圖、雷達(dá)圖以及各種圖表的綜合運(yùn)用等等)和交互功能(如提示、放大、變焦等等),它的底層依賴于SVG。[4]

自Echarts3.0和Echarts-X發(fā)布以來,Echarts的功能已經(jīng)非常全面。相對(duì)Echarts來講,Highcharts在功能上還存在一些不足:在圖表支持方面,Highcharts部支持力導(dǎo)布局圖與和弦圖。在功能交互方面,不支持拖拽重計(jì)算、數(shù)據(jù)視圖、值域漫游和大規(guī)模散點(diǎn)。

二、Django架構(gòu)

1.開發(fā)模式

Django框架與其他常用的開源Web框架一樣,也采用MVC的開發(fā)模式,根據(jù)其類庫(kù)名稱的特點(diǎn)稱為MTV更為合適。[5]

(1)MVC

MVC(Model、View和Controller的縮寫),是Web開發(fā)的通用的開發(fā)架構(gòu)。它將界面設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)以及界面交互分成獨(dú)立的三個(gè)模塊:視圖(View)、模型(Model)和控制器(Controller)。視圖層主要是用于進(jìn)行前端頁(yè)面的設(shè)計(jì)和管理,模型層定義了數(shù)據(jù)表的結(jié)構(gòu)和相關(guān)的業(yè)務(wù)邏輯,而控制層則負(fù)責(zé)定義處理用戶請(qǐng)求和服務(wù)器如何響應(yīng)的規(guī)則。

(2)MTV

在Django框架中對(duì)于視圖和控制器層的模塊命名有所不同。Django中的視圖層模塊被稱謂Templates,控制器層模塊被命名為View,因而被成為MTV設(shè)計(jì)模式。然而MTV和MVC在設(shè)計(jì)思想上沒有什么不同,僅僅是命名規(guī)則不同而已。

2.功能特點(diǎn)

Django是基于Python語言的一種Web框架,基于Python強(qiáng)大的第三方庫(kù),其功能非常強(qiáng)大。使用Django進(jìn)行Web開發(fā)可以讓開發(fā)人員省去許多不必要的麻煩,從而達(dá)到快速開發(fā)。Django在數(shù)據(jù)庫(kù)訪問、頁(yè)面管理、表單處理和后臺(tái)管理等方面設(shè)計(jì)十分靈巧:

(1)數(shù)據(jù)庫(kù)訪問

Django使用ORM的數(shù)據(jù)庫(kù)訪問機(jī)制。ORM機(jī)制能夠讓開發(fā)人員省去編寫復(fù)雜的SQL語句的步驟,利用程序代碼實(shí)現(xiàn)建庫(kù)、建表等操作。

(2)頁(yè)面管理

Django在頁(yè)面管理方面類似于Jinjia2,具有模板的可繼承性。通過這種機(jī)制可以將真?zhèn)€頁(yè)面劃分成若干小的功能模塊,使用時(shí)直接導(dǎo)入而不必對(duì)代碼進(jìn)行復(fù)制粘貼。

(3)表單處理

Django可以通過ModelForm根據(jù)模型自動(dòng)生成相應(yīng)表單,并且可以通過對(duì)Form類的設(shè)置對(duì)表單進(jìn)行驗(yàn)證。

(4)后臺(tái)管理

Django擁有強(qiáng)大的后臺(tái)管理功能,只需要在配置文件中設(shè)置參數(shù)便可開啟。系統(tǒng)管理者可以運(yùn)用后臺(tái)管理界面進(jìn)行數(shù)據(jù)的訪問、修改等操作。

結(jié)語

隨著社會(huì)信息量的不斷增加,可視化技術(shù)已不單單面向企業(yè)和單位而會(huì)越來越多的面向大眾。Django作為一種能夠進(jìn)行快速開發(fā)的Web框架,在面向大眾的可視化話應(yīng)用開發(fā)中將會(huì)扮演重要的角色。本文簡(jiǎn)單的講解了Django框架和數(shù)據(jù)可視化的概念,并介紹了一些開源庫(kù),謹(jǐn)供開發(fā)愛好者參考斧正。

參考文獻(xiàn)

[1] 朱成.基于Django 的安全威脅任務(wù)管理系統(tǒng)構(gòu)建[D]. 復(fù)旦大學(xué). 2011.

[2] 郭力子. 基于開源的 Web 開發(fā)架構(gòu)———ZOPE/Python[J]. 計(jì)算機(jī)時(shí)代. 2008,(07).

[3] 張寶輝,張金磊,黃龍翔(2013).計(jì)算機(jī)建模在教學(xué)評(píng)價(jià)中的應(yīng)用研究[J].中國(guó)電化教育, (4):103-109.

[4] 王亞卿,方龍. 淺析 python 在地圖處理中的運(yùn)用. 華東森林經(jīng)理. 2008,(01).

[5] 吳衛(wèi)平, 王麗芳, 蔣澤軍. 基于 ORM 的數(shù)據(jù)持久層框架研究[J]. 微電子學(xué)與計(jì)算機(jī), 2008, 25(7): 188-191.

作者簡(jiǎn)介

侯佳奇,男,西北民族大學(xué)碩士研究生

紫云| 鲁山县| 临泽县| 泗阳县| 抚宁县| 修文县| 福建省| 玛纳斯县| 陇川县| 汪清县| 南阳市| 玛曲县| 东乌珠穆沁旗| 千阳县| 宜兰县| 金坛市| 兰溪市| 铜鼓县| 义马市| 南丰县| 建湖县| 文水县| 准格尔旗| 三明市| 宕昌县| 连州市| 丹阳市| 伊吾县| 郸城县| 安平县| 新化县| 阿克苏市| 会昌县| 读书| 龙江县| 萨嘎县| 视频| 呼和浩特市| 乳山市| 卢湾区| 永修县|