資料視覺化的工具和程式庫已經極大豐盛,當你習慣其中一種或數種時,你會幹得很出色,但是如果你因此而沾沾自喜,就會錯失從青銅到王者的新工具和程式庫。如果你仍然堅持使用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 」 改變了視覺化的整個定義。
只需一行程式碼,我產生了下面這個散佈圖。您可以根據需要自訂它。請記住指定模式標記,否則您將獲得一些線條。
請注意,隨著資料的增加,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])
with plotly
df.iplot(kind= 'scatter')
with cufflinks
##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 ='pearl',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=['State', 'Unemployment'], key_on='feature.id', fill_color='YlGn', name='Unenployment', 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('results', 'GeoChoro.html')) map###這只是一個基本的地圖,你可以添加標記,彈出視窗等等。可以是下面的leaflet和folium產生的地圖。 ###
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='interval') points = alt.Chart().mark_point().encode( x='Horsepower:Q', y='Miles_per_Gallon:Q', color=alt.condition(brush, 'Origin:N', alt.value('lightgray'))).add_selection( brush) bars = alt.Chart().mark_bar().encode( y='Origin:N', color='Origin:N', x='count(Origin):Q').transform_filter( brush) alt.vconcat(points, bars, data=source)
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”)
你可以做一些惊人的可视化,例如下面这几个:
Sequences Sunburst — Kerry Rodden’s Block (Source)
以上是從青銅到王者,進階資料視覺化2.0的五個Python庫!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具