首頁 後端開發 Python教學 從青銅到王者,進階資料視覺化2.0的五個Python庫!

從青銅到王者,進階資料視覺化2.0的五個Python庫!

Aug 29, 2019 pm 05:40 PM
python 數據視覺化

從青銅到王者,進階資料視覺化2.0的五個Python庫!

資料視覺化的工具和程式庫已經極大豐盛,當你習慣其中一種或數種時,你會幹得很出色,但是如果你因此而沾沾自喜,就會錯失從青銅到王者的新工具和程式庫。如果你仍然堅持使用Matplotlib(這太神奇了),Seaborn(這也很神奇),Pandas(基本,簡單的可視化)和Bokeh,那麼你真的需要停下來了解一下新事物了。例如,python中有許多令人驚嘆的視覺化函式庫,而且通用化程度已經很高,例如下面這五個:

Plotly

Cufflinks

Folium

Altair Vega

D3.js(個人認為最好的選擇,因為我也用JS寫程式碼)

如果您了解並使用上面提到的函式庫,那麼您就處於進化的正確軌道上。它們可以幫助產生一些令人拍案的視覺化效果,語法也不難。一般來說,我更喜歡Plotly Cufflinks和D3.js. 以下詳細道來:

Plotly

Plotly是一個開源,互動式和基於瀏覽器的Python圖形庫。可以建立能在儀表板或網站中使用的互動式圖表(您可以將它們儲存為html檔案或靜態圖像)。 Plotly基於plotly.js,而plotly.js又基於D3.js,因此它是一個高級圖表庫,與Bokeh一樣,Plotly的強項是製作互動式圖,有超過30種圖表類型, 提供了一些在大多數庫中沒有的圖表,如等高線圖、樹狀圖、科學圖表、統計圖表、3D圖表、金融圖表等。 plotly最棒的一點是可以在Jupyter筆記本或獨立的HTML頁面中使用 。您也可以在他們的網站上在線使用它,但我更喜歡離線使用它,您也可以將視覺化保存為圖像,非常易於使用也非常實用。

– 在Jupyter Notebook中使用Plotly的方法(離線)

首先,安裝plotly函式庫。

pip install plotly
登入後複製

然後開啟jupyter筆記本並鍵入:

from plotly import __version__ 
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot init_notebook_mode(connected = True)
登入後複製

語法超簡單!在Pandas中 ,你使用dataframe.plot() ,在這裡,您使用 dataframe.iplot()。這個「 i 」 改變了視覺化的整個定義。

只需一行程式碼,我產生了下面這個散佈圖。您可以根據需要自訂它。請記住指定模式標記,否則您將獲得一些線條。

從青銅到王者,進階資料視覺化2.0的五個Python庫!

請注意,隨著資料的增加,plotly會開始卡滯。所以,只有當資料點的小於500K時,我才會使用plotly。

相關推薦:《Python影片教學

Cufflinks

Cufflinks將Plotly直接綁定到pandas資料幀。這個組合非常驚人,結合了Pandas的靈活性,比Plotly更有效,語法甚至比plotly簡單。使用plotly的Python庫,您可以使用DataFrame的系列和索引來描述圖形,但是使用Cufflinks可以直接繪製它。如同下面這個例子:

df = cf.datagen.lines()py.iplot([{  'x':df.index, 'y':df [col], 'name':col } 
<strong>for</strong> col <strong>in</strong> df.columns])
登入後複製

從青銅到王者,進階資料視覺化2.0的五個Python庫!

with plotly

df.iplot(kind= &#39;scatter&#39;)
登入後複製

從青銅到王者,進階資料視覺化2.0的五個Python庫!

with cufflinks

從青銅到王者,進階資料視覺化2.0的五個Python庫!

##Cufflinks使得圖表繪製更加容易。您甚至 可以使用Cufflinks產生令人驚嘆的3D圖表 。我只用幾行程式碼產生了下面這個3D圖表。

###用Cufflinks產生的3D圖表######你可以隨時在Jupyter Notebook中試用它。 ######– 快速提示:######在組態中設定:###
c.NotebookApp.iopub_data_rate_limit = 1.0e10
登入後複製
###以下列方式匯入:###
import plotly.graph_objs as go
import plotly.plotly as py 
import cufflinks as cf 
from plotly.offline import iplot,init_notebook_mode 
cf.go_offline()
#Set global theme 
cf.set_config_file(world_readable = True,theme =&#39;pearl&#39;,offline = True )
init_notebook_mode()
登入後複製
###接下來,我將談論另一個神庫——Viz庫。 #########Folium#########Folium建立在Python生態系統的資料優勢和Leaflet.js庫的映射優勢之上。您可以在python中操作數據,然後透過folium在Leaflet地圖中將其視覺化。 Folium是用來繪製空間資料的「神庫」。你也可以使用folium產生熱圖和等值區域圖。讓我們來了解folium:######地圖定義為 folium.Map 對象,可在folium頂部新增其他folium物件。 ######您可以為Folium渲染的地圖使用不同的地圖圖層,例如MapBox,OpenStreetMap和其他幾個圖層,你可以查看 此github庫資料夾 或 此文件頁面 。 ######你也可以選擇不同的地圖投影。有許多投影可供選擇。 ######讓我們用美國失業的Geojson來產生一個Choropleth地圖。以下是片段:###
map = folium.Map([43, -100], zoom_start=4)
choropleth = folium.Choropleth( geo_data=us_states, data=state_data, 
columns=[&#39;State&#39;, &#39;Unemployment&#39;], key_on=&#39;feature.id&#39;, fill_color=&#39;YlGn&#39;, name=&#39;Unenployment&#39;, 
show=<strong>False</strong>,).add_to(m)
<em>
# 底层的GeoJson和StepColormap对象是可访问的
</em>
print(type(choropleth.geojson))
print(type(choropleth.color_scale))
folium.LayerControl(collapsed=<strong>False</strong>).add_to(m)
map.save(os.path.join(&#39;results&#39;, &#39;GeoChoro.html&#39;))
map
登入後複製
###這只是一個基本的地圖,你可以添加標記,彈出視窗等等。可以是下面的leaflet和folium產生的地圖。 ###

從青銅到王者,進階資料視覺化2.0的五個Python庫!

Altair + Vega

Altair是一个声明性统计可视化库,基于Vega和Vega-Lite。

声明意味着只需要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其余的绘图细节它会自动处理。声明使Altair变得简单,友好和一致。使用Altair可以轻松设计出有效且美观的可视化代码。

Altair使您能够使用强大而简洁的可视化语法快速开发各种统计可视化图表。如果您使用的是Jupyter Notebook,则需要按以下方式安装它。它还包括一些示例vega数据集。

pip install -U altair vega_datasets notebook vega
登入後複製

Altair主要依赖Vega,为了使图表在屏幕上可见,你需要安装Vega,并且还需要为每个新会话运行此命令:

alt.renderers.enable(‘notebook’)
登入後複製

Altair中的数据是围绕Pandas Dataframe构建的。统计可视化最明显的特征是以整洁的Dataframes开始。您还可以将绘图另存为图像或在vega编辑器中打开它以获得更多选项。Altair可能不是最好的,但绝对值得一试。

下面这个例子,我使用了汽车数据集;

import altair as altfrom vega_datasets 
import datasource = data.cars()
brush = alt.selection(type=&#39;interval&#39;)
points = alt.Chart().mark_point().encode( x=&#39;Horsepower:Q&#39;, y=&#39;Miles_per_Gallon:Q&#39;, 
color=alt.condition(brush, &#39;Origin:N&#39;, alt.value(&#39;lightgray&#39;))).add_selection( brush)
bars = alt.Chart().mark_bar().encode( y=&#39;Origin:N&#39;, color=&#39;Origin:N&#39;, 
x=&#39;count(Origin):Q&#39;).transform_filter( brush)
alt.vconcat(points, bars, data=source)
登入後複製

從青銅到王者,進階資料視覺化2.0的五個Python庫!

Altair和Vega生成的分散图和直方图

D3.js(数据驱动文档DDD)

D3.js是一个JavaScript库,根据数据操作文档。您可以使用HTML,SVG和CSS将数据变成活灵活现的图表。D3并不要求您将自己绑定到任何专有框架,因为现代浏览器拥有D3所需的一切,它还用于组合强大的可视化组件和数据驱动的DOM操作方法。

D3.js是目前市场上最好的数据可视化库。 您可以将它与python一起使用,也可以与R一起使用。最初,它可以与JavaScript一起使用,因为JS具有广泛的功能并且需要大量的学习和经验,但是如果你是JS专业人员则不需要犹豫。虽然 Python 和 R 使D3.js变得更简单,但只是一点点!总之D3.js是绝对不会错的上佳之选。

D3py有3个主要依赖项:

NumPy

Pandas

NetworkX

我建议你使用JavaScript或R,而不是python,因为版本已经过时,最后一次更新是在2016年。而且只是D3.js的一个瘦的python包装器。

R提供D3可视化接口。使用 r2d3 ,您可以将数据从R绑定到D3可视化。使用 r2d3 创建的D3可视化就像RStudio,R Markdown文档和Shiny应用程序中的R图一样工作。您可以按如下方式从CRAN 安装 r2d3 软件包:

install.packages(“r2d3”)
登入後複製

你可以做一些惊人的可视化,例如下面这几个:

從青銅到王者,進階資料視覺化2.0的五個Python庫!

Sequences Sunburst — Kerry Rodden’s Block (Source)

從青銅到王者,進階資料視覺化2.0的五個Python庫!

以上是從青銅到王者,進階資料視覺化2.0的五個Python庫!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

See all articles