如何用Python制作優(yōu)美且功能強(qiáng)大的數(shù)據(jù)可視化圖像?
補(bǔ)充推薦一個(gè)Python 新數(shù)據(jù)可視化模塊——Plotly Express 。
Plotly ExpressPlotly Express是一個(gè)新的高級(jí)Python數(shù)據(jù)可視化庫(kù),它是Plotly.py的高級(jí)封裝,它為復(fù)雜的圖表提供了一個(gè)簡(jiǎn)單的語(yǔ)法。只需一次導(dǎo)入,大多數(shù)繪圖只要一個(gè)函數(shù)調(diào)用,接受一個(gè)整潔的Pandas dataframe,就可以創(chuàng)建豐富的交互式繪圖。
Plotly Express 安裝慣例,使用 pip進(jìn)行安裝。
pip install plotly_expressPlotly Express支持構(gòu)建圖表類型scatter:在散點(diǎn)圖中,每行data_frame由2D空間中的符號(hào)標(biāo)記表示。scatter_3d:在3D散點(diǎn)圖中,每行data_frame由3D空間中的符號(hào)標(biāo)記表示。scatter_polar:在極坐標(biāo)散點(diǎn)圖中,每行data_frame由極坐標(biāo)中的符號(hào)標(biāo)記表示。scatter_ternary:在三元散點(diǎn)圖中,每行data_frame由三元坐標(biāo)中的符號(hào)標(biāo)記表示。scatter_mapbox:在Mapbox散點(diǎn)圖中,每一行data_frame都由Mapbox地圖上的符號(hào)標(biāo)記表示。scatter_geo:在地理散點(diǎn)圖中,每一行data_frame都由地圖上的符號(hào)標(biāo)記表示。scatter_matrix:在散點(diǎn)圖矩陣(或SPLOM)中,每行data_frame由多個(gè)符號(hào)標(biāo)記表示,在2D散點(diǎn)圖的網(wǎng)格的每個(gè)單元格中有一個(gè),其將每對(duì)dimensions彼此相對(duì)繪制。density_contour:在密度等值線圖中,行data_frame被組合在一起成為輪廓標(biāo)記,以可視化該值的聚合函數(shù)histfunc(例如,計(jì)數(shù)或總和)的2D分布z。density_heatmap:在密度熱圖中,行data_frame被組合在一起成為彩色矩形瓦片,以可視化該值的聚合函數(shù)histfunc(例如,計(jì)數(shù)或總和)的2D分布 z。line:在2D線圖中,每行data_frame表示為2D空間中折線標(biāo)記的頂點(diǎn)。line_polar:在極線圖中,每行data_frame表示為極坐標(biāo)中折線標(biāo)記的頂點(diǎn)。line_ternary:在三元線圖中,每行data_frame表示為三元坐標(biāo)中折線標(biāo)記的頂點(diǎn)。line_mapbox:在Mapbox線圖中,每一行都data_frame表示為Mapbox地圖上折線標(biāo)記的頂點(diǎn)。line_geo:在地理線圖中,每一行都data_frame表示為地圖上折線標(biāo)記的頂點(diǎn)。parallel_coordinates:在平行坐標(biāo)圖中,每行data_frame由折線標(biāo)記表示,該折線標(biāo)記穿過一組平行軸,每個(gè)平行軸對(duì)應(yīng)一個(gè)平行軸 dimensions。parallel_categories:在并行類別(或平行集)圖中,每行data_frame與其他共享相同值的行組合,dimensions然后通過一組平行軸繪制為折線標(biāo)記,每個(gè)平行軸對(duì)應(yīng)一個(gè)dimensions。area:在堆積區(qū)域圖中,每行data_frame表示為2D空間中折線標(biāo)記的頂點(diǎn)。連續(xù)折線之間的區(qū)域被填充。bar:在條形圖中,每行data_frame表示為矩形標(biāo)記。bar_polar:在極坐標(biāo)圖中,每一行都data_frame表示為極坐標(biāo)中的楔形標(biāo)記。violin:在小提琴圖中,將data_frame行分組成一個(gè)曲線標(biāo)記,以便可視化它們的分布。box:在箱形圖中,行data_frame被組合在一起成為盒須標(biāo)記,以顯示它們的分布。strip:在條形圖中,每一行都data_frame表示為類別中的抖動(dòng)標(biāo)記。histogram:在直方圖中,行data_frame被組合在一起成為矩形標(biāo)記,以可視化該值的聚合函數(shù)histfunc(例如,計(jì)數(shù)或總和)的1D分布y(或者x如果orientation是'h')。choropleth:在等值區(qū)域圖中,每行data_frame由地圖上的彩色區(qū)域標(biāo)記表示。gapminder數(shù)據(jù)集說明我們使用gapminder數(shù)據(jù)集進(jìn)行體驗(yàn) Plotly Express 。
gapminder數(shù)據(jù)集顯示2007年按國(guó)家/地區(qū)的人均預(yù)期壽命和人均GDP 之間的趨勢(shì):包含1952~2007年世界各國(guó)家人口、GDP發(fā)展與/地區(qū)的人均預(yù)期壽命和人均GDP 之間的趨勢(shì)。
Country:國(guó)家,ChinaContinent:洲,AsiaYear:年份,1952LifeExp:預(yù)期壽命,44POP:人口,556263527GdpPercap:分均 GDP,400.448611iso_alpha:國(guó)家編碼,CHNiso_num:國(guó)家代碼,156上手體驗(yàn)一下,輕松地進(jìn)行數(shù)據(jù)可視化。散點(diǎn)圖scatter常用參數(shù)說明:
data_frame: 一個(gè)'整潔' pandas.DataFramex:(字符串:列的名稱data_frame)此列中的值用于沿笛卡爾坐標(biāo)沿x軸定位標(biāo)記。對(duì)于水平histogram()s,這些值用作輸入histfunc。y:(字符串:列的名稱data_frame)此列中的值用于沿笛卡爾坐標(biāo)中的y軸定位標(biāo)記。對(duì)于垂直histogram()s,這些值用作輸入histfunc。color:(字符串:列的名稱data_frame)此列中的值用于為標(biāo)記指定顏色。size:(字符串:列名稱data_frame)此列中的值用于指定標(biāo)記大小。color_continuous_scale:(有效CSS顏色字符串列表)此列表用于在表示的列color包含數(shù)字?jǐn)?shù)據(jù)時(shí)構(gòu)建連續(xù)顏色標(biāo)度。plotly_express.colors子模塊中有各種有用的色標(biāo),特別plotly_express.colors.sequential是plotly_express.colors.diverging和plotly_express.colors.cyclical。title:(字符串)圖標(biāo)題。template:(字符串或Plotly.py模板對(duì)象)圖模板名稱或定義。width:(整數(shù),默認(rèn)None)圖形寬度(以像素為單位)。height:(整數(shù),默認(rèn)600)圖形高度(以像素為單位)。使用散點(diǎn)圖描述中國(guó)人口與GDP增長(zhǎng)趨勢(shì)圖
地理散點(diǎn)圖scatter_geo常用參數(shù)說明
data_frame:“整潔”pandas.DataFramelat:(字符串:data_frame)此列的值用于根據(jù)地圖上的緯度定位標(biāo)記。lon:(字符串:data_frame)此列的值用于根據(jù)地圖上的經(jīng)度定位標(biāo)記。locations:(字符串:data_frame)該列中的值將根據(jù)locationmode并映射到經(jīng)度/緯度。locationmode:(字符串,“ISO-3”、“美國(guó)-州”、“國(guó)家名稱”之一)確定用于匹配locations地圖上的區(qū)域。color:(字符串:data_frame)此列的值用于為標(biāo)記指定顏色。size:(字符串:data_frame)此列的值用于分配標(biāo)記大小。color_continuous_scale:(有效的css-顏色字符串列表)此列表用于在color包含數(shù)字?jǐn)?shù)據(jù)。中提供了各種有用的色標(biāo)。plotly_express.colors子模塊,特別是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.title:(字符串)圖形標(biāo)題。width:(整數(shù),默認(rèn))None)以像素為單位的圖形寬度。height:(整數(shù),默認(rèn))600)以像素為單位的圖形高度。使用地理散點(diǎn)圖描述全球人口與GDP
折線圖(line)常用參數(shù)說明
data_frame:“整潔”pandas.DataFramex:(字符串:data_frame)該列的值用于在笛卡爾坐標(biāo)中沿x軸定位標(biāo)記。臥式histogram(),這些值用作histfunc.y:(字符串:data_frame)該列的值用于在笛卡爾坐標(biāo)中沿y軸定位標(biāo)記。垂直histogram(),這些值用作histfunc.color:(字符串:data_frame)此列的值用于為標(biāo)記指定顏色。facet_col:(字符串:data_frame)此列中的值用于在水平方向平面子圖分配標(biāo)記。title:(字符串)圖形標(biāo)題。width:(整數(shù),默認(rèn))None)以像素為單位的圖形寬度。height:(整數(shù),默認(rèn))600)以像素為單位的圖形高度。使用折線圖描述1952~2007中國(guó)與美國(guó)人口增長(zhǎng)趨勢(shì)圖
條形圖(bar)常用參數(shù)說明
data_frame:“整潔”pandas.DataFramex:(字符串:data_frame)該列的值用于在笛卡爾坐標(biāo)中沿x軸定位標(biāo)記。臥式histogram(),這些值用作histfunc.y:(字符串:data_frame)該列的值用于在笛卡爾坐標(biāo)中沿y軸定位標(biāo)記。垂直histogram(),這些值用作histfunc.color:(字符串:data_frame)此列的值用于為標(biāo)記指定顏色。facet_row:(字符串:data_frame)此列的值用于向垂直方向上的平面子圖分配標(biāo)記。facet_col:(字符串:data_frame)此列中的值用于在水平方向平面子圖分配標(biāo)記。text:(字符串:data_frame)此列的值以文本標(biāo)簽的形式顯示在圖中。title:(字符串)圖形標(biāo)題。template:(String或Plotly.py模板對(duì)象)圖形模板名稱或定義。width:(整數(shù),默認(rèn))None)以像素為單位的圖形寬度。height:(整數(shù),默認(rèn))600)以像素為單位的圖形高度。使用條形圖描述1952~2007中國(guó)與美國(guó)人口增長(zhǎng)趨勢(shì)圖
等值區(qū)域圖(choropleth)常用參數(shù)說明
data_frame:“整潔”pandas.DataFramelat:(字符串:data_frame)此列的值用于根據(jù)地圖上的緯度定位標(biāo)記。lon:(字符串:data_frame)此列的值用于根據(jù)地圖上的經(jīng)度定位標(biāo)記。locations:(字符串:data_frame)該列中的值將根據(jù)locationmode并映射到經(jīng)度/緯度。locationmode:(字符串,“ISO-3”、“美國(guó)-州”、“國(guó)家名稱”之一)確定用于匹配locations地圖上的區(qū)域。color:(字符串:data_frame)此列的值用于為標(biāo)記指定顏色。size:(字符串:data_frame)此列的值用于分配標(biāo)記大小。color_continuous_scale:(有效的css-顏色字符串列表)此列表用于在color包含數(shù)字?jǐn)?shù)據(jù)。中提供了各種有用的色標(biāo)。plotly_express.colors子模塊,特別是plotly_express.colors.sequential, plotly_express.colors.diverging和plotly_express.colors.cyclical.title:(字符串)圖形標(biāo)題。width:(整數(shù),默認(rèn))None)以像素為單位的圖形寬度。height:(整數(shù),默認(rèn))600)以像素為單位的圖形高度。使用等值區(qū)域圖描述各個(gè)國(guó)家人口數(shù)量
若對(duì)你有所幫助,歡迎大家評(píng)論、留言。