中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

基于Python實現(xiàn)交互式數(shù)據(jù)可視化的工具(用于Web)

2019-05-12    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

這學期(2018學年春季學期)我教授了一門關(guān)于數(shù)據(jù)可視化的數(shù)據(jù)科學碩士課程。我們的數(shù)據(jù)科學碩士項目是一個為期15個月的強化項目,這個項目已經(jīng)成功地培養(yǎng)了許多優(yōu)秀的數(shù)據(jù)科學家。

該項目的學生背景多元,并且他們在上這門課前都對R和Python有了很深入的理解。通過各種課程的學習,他們已經(jīng)能夠熟練使用ggplot2和matplotlib,為學習大型多變量數(shù)據(jù)可視化打下了基礎(chǔ)。

作為一個數(shù)據(jù)可視化的研究者,我想要介紹所有那些在數(shù)據(jù)可視化領(lǐng)域涌現(xiàn)的絕妙技術(shù)。因此,我的課程的其中一部分將會是基于研究論文,在線可視化和d3示例的講座。

Python中的數(shù)據(jù)可視化

現(xiàn)在大部分的數(shù)據(jù)可視化研究都是通過D3進行的。遺憾的是,我只有短短8周跟學生相處的時間,所以我只能專注于講授理論和實踐相結(jié)合的內(nèi)容來幫助他們成為數(shù)據(jù)科學家。雖然學生樂于使用可視化技術(shù)探索并解釋問題,但他們中的大多數(shù)對于使用D3創(chuàng)建美麗的自定義可視化不太感興趣。根據(jù)之前教授這門課的教授反饋來看,在這么短的時間內(nèi)教授D3是不可能的。

鑒于我自己對Python的熱愛和Python給學生帶來的舒適體驗,我決定向他們介紹Python中神奇的(我希望是的!)軟件包,它們可以實現(xiàn)所有我向?qū)W生展示的內(nèi)容。

Seaborn的靜態(tài)可視化

鑒于我過去使用seaborn的經(jīng)驗,我很高興能夠向?qū)W生介紹seaborn產(chǎn)生的美麗的可視化圖案。 他們已經(jīng)有了使用matplotlib的經(jīng)驗,所以學習seaborn時很容易,且優(yōu)勢巨大。 學生能夠制作散點圖(雙變量和多變量),swarmplots,小提琴圖,條形圖,箱形圖和帶有刻面的直方圖。他們了解到,使用大型數(shù)據(jù)集生成swarmplots非常耗時,而基于摘要的圖(如小提琴圖)是更好的選擇。

 

Seaborn中的可視化技術(shù)示例

用Bokeh或Plot.ly實現(xiàn)交互式可視化

 

雖然seaborn能夠產(chǎn)生美麗的可視化圖形,但它們都是靜態(tài)的。我希望學生體驗使用交互技術(shù)(如梳理,過濾,縮放和懸停)的好處。為此,我介紹了可視化庫Bokeh和Plot.ly,利用它們可以輕松實現(xiàn)交互式數(shù)據(jù)可視化。對于時間序列可視化分配,學生可以選擇使用Bokeh或 plot.ly來實現(xiàn)多線圖(multi line charts),熱圖(heatmaps),動畫氣泡圖(animated bubble charts)等。

 

使用plot.ly創(chuàng)建的可視化示例

 

圖片來源:PolicyViz

Bokeh中的交互式可視化

 

圖片來源:Christine Doig可視化樹,圖和網(wǎng)絡(luò)

在討論分層數(shù)據(jù)可視化的技術(shù)時,我很高興地展示樹狀圖可視化技術(shù),并將其與節(jié)點鏈接圖進行了比較。遺憾的是,當我深入挖掘時,卻沒有找到實現(xiàn)多級樹狀圖的方法L 即使在導入了squarify庫之后,你也只能在Python中生成一個一級樹狀圖!

 

使用squarify包只能生成一級樹圖

 

圖片來源:The Python Graph Gallery

精彩的networkx軟件包可以被用來分析圖形和網(wǎng)絡(luò)。 然而,網(wǎng)絡(luò)可視化只能通過matplotlib或igraph或plotly來實現(xiàn)(請參閱使用plotly實現(xiàn)網(wǎng)絡(luò)可視化的教程)。igraph有許多不同的選項可以幫助用戶嘗試配置圖形,但是設(shè)置起來很不方便,因此許多學生在使用時遇到了問題。另一方面,plot.ly使用順暢,但在自定義網(wǎng)絡(luò)圖方面幾乎沒有選擇。

地學可視化

鑒于創(chuàng)建交互式映射圖是數(shù)據(jù)可視化的重要組成部分,我對于找到能夠創(chuàng)建等值區(qū)域圖(choropleth maps),符號圖(symbol maps),統(tǒng)計圖(cartograms),交通圖(transit maps)甚至流向圖(flow maps)的軟件包更有信心。以下是我在Python中發(fā)現(xiàn)的地學可視化庫:

Plot.ly允許您創(chuàng)建等值區(qū)域圖和符號圖,但幾乎無法控制圖的創(chuàng)建過程。

geoplotlib是一個小巧好用的軟件包,它建立在pyglet上,但它有點不穩(wěn)定,經(jīng)常崩潰。它使用OpenStreetMap圖塊,甚至允許基于動畫的空間數(shù)據(jù)可視化。我很喜歡這個包,因為它里面有一些簡潔好用的示例。

geoplot看起來很完美,其中有一些很棒的例子,但是我和我們的學生都無法安裝它。鑒于我們大多數(shù)人都不使用conda,我們應該注意這個警告 - “請謹慎使用,因為這可能不適用于Windows,并且可能無法在OSX和Linux上運行。”

Cartopy和geopandas+matplotlib只生成靜態(tài)可視化,所有我還沒有嘗試過。

文本可視化

我們學習了很多關(guān)于各種文本可視化技術(shù)的知識,例如標簽云(tag clouds)(例如wordle),文檔散(docubursts),平行標簽云(parallel tag clouds),短語網(wǎng)絡(luò)(phrase nets)和單詞樹(word trees),還介紹了主題探索和情感可視化技術(shù)。

不幸的是,除了word_cloud軟件包之外,對于想要在Python中實現(xiàn)單個文檔或大型文本集可視化的人來說,幾乎沒有其他選項。

Web的交互式數(shù)據(jù)可視化

當前,Bokeh和Plot.ly Dash是創(chuàng)建允許多視圖刷選和過濾的交互式儀表盤的主要選擇。Bokeh的示例非常少,而Plot.ly Dash對慣于在Python中創(chuàng)建可視化的用戶來說則非常重要。

Plot.ly Dash是基于Flask,Plotly.js和React.js構(gòu)建的,同時增加了創(chuàng)建同步多視點可視化的障礙。我班上的一些學生團隊使用Plot.ly Dash完成期末項目,但他們學得非常快。以下鏈接中是一個關(guān)于Ryan Campa和Shikhar Gupta通過Dash實現(xiàn)TED演講數(shù)據(jù)集可視化的簡單案例。

http://campa-gupta.herokuapp.com/

Altar會是理想的選擇嗎?

隨著課程的進展,出現(xiàn)了一些關(guān)于Python 和 Vega組合成為Altair的消息!我欣喜地得知我所使用的Vega來自UW Interactive Data Lab。Jim Vallandingam出色的“Altair簡介”教程是一個很好的起點。

Altair的主要開發(fā)人員Jake VanderPlas最近發(fā)布了他的Python筆記本和PyCon 2018視頻的鏈接。我從那以后一直在玩它,我非常喜歡它!數(shù)據(jù)科學家們希望探索他們的數(shù)據(jù)并創(chuàng)建可視化圖形來從內(nèi)部和外部解釋它們。我希望它能滿足數(shù)據(jù)科學家的需求。

 

Altair示例庫中的交互式可視化示例集合

 

圖片來源:Altair Gallery

總結(jié)

數(shù)據(jù)科學家喜歡使用Python中的可視化庫和包,我希望像Altair這樣的工具就是最終的實現(xiàn)途徑。諸如plotly,seaborn,bokeh,geoplotlib等軟件包將繼續(xù)發(fā)展,并擁有更多功能。通過Python實現(xiàn)的交互式數(shù)據(jù)可視化(用于Web)將有一個更光明的未來,我們期待這一天!

致謝

感謝Sophie Engle教授提供的講座筆記,讓我在整個學期的講課都很順利。感謝Shirley Wu和Robert Gove為早期的草稿提供了極有價值的反饋。

原文標題:

We need more Interactive Data Visualization tools (for the Web) in Python

原文鏈接:

https://medium.com/@alark/we-need-more-interactive-data-visualization-tools-for-the-web-in-python-ad80ec3f440e

標簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:大數(shù)據(jù)分析常用去重算法分析

下一篇:醫(yī)學影像分割難題獲突破:可自動調(diào)參,適應所有數(shù)據(jù)集