溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

發(fā)布時間:2021-11-23 16:44:18 來源:億速云 閱讀:319 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

神奇的Altair

介紹本期主角之前,先給大家一張GIF

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

是不是很炫酷?更神奇的是,完成這么一幅可交互的圖表,僅需不到20行代碼。

這幅圖是用Python的可視化庫Altair繪制的,Altair可以使用強(qiáng)大而簡潔的可視化語法快速開發(fā)各種統(tǒng)計(jì)可視化圖表。用戶只需要提供數(shù)據(jù)列與編碼通道之間的鏈接,例如x軸,y軸,顏色等,其余的繪圖細(xì)節(jié)它會自動處理。

事實(shí)上,Altair能做的還有很多,大家可以去官網(wǎng)example gallery觀賞Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

 

安裝、配置、導(dǎo)入Altair

如果你安裝的是anaconda(我強(qiáng)烈建議你安裝這個IDE),Altair已經(jīng)內(nèi)置,無需再安裝。但是如果需要實(shí)例數(shù)據(jù)集,還要安裝vega_datasets:

pip install vega_datasets
 

然后打開anaconda安裝目錄,打開Navigation

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

打開JupyterLab

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些新建一個notebook,運(yùn)行示例代碼,OK!Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

 

Altair圖形語法

Chart有三個基本方法:數(shù)據(jù)(data)、標(biāo)記(mark)和編碼(encode),使用它們的格式如下:alt.Chart(data).mark_point().encode(

encoding_1='column_1',

encoding_2='column_2',

etc. )

Data:Altair內(nèi)部使用的數(shù)據(jù)以Pandas中的Dataframe格式存儲,但有以下三種方式傳入:

  • 以Pandas的DataFrame格式傳入;
  • 以Data對象傳入;
  • 以指向csv或json文本的url傳入;

Mark:定義好數(shù)據(jù)之后,需要選擇顯示的圖形比如條形圖、折線圖、面積圖、散點(diǎn)圖、直方圖、地圖等各種交互式圖表。Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些

Encoding:編碼方式定義了圖片顯示的各種屬性,如每個圖片的位置,圖片軸的屬性等。這部分是最重要的,記住關(guān)鍵的幾個就行。

位置通道:定義位置相關(guān)屬性:

  • x: x軸數(shù)值
  • y: y軸數(shù)值
  • row: 按行分列圖片
  • column: 按列分列圖片

通道描述:

  • color: 標(biāo)記點(diǎn)顏色
  • opacity: 標(biāo)記點(diǎn)的透明度
  • shape: 標(biāo)記點(diǎn)的形狀
  • size: 標(biāo)記點(diǎn)的大小

通道域信息:text:文本標(biāo)記 label:標(biāo)簽

數(shù)據(jù)類型:

  • quantitative:縮寫Q 連續(xù)型數(shù)據(jù)
  • ordinal:縮寫O 離散型
  • nominal:縮寫N 離散無序
  • temporal:縮寫T 時間序列

分類與聚合:最大值、最小值、均值、求和等等

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些  
 

交互

除了繪制基本圖像,Altair強(qiáng)大之處在于用戶可以與圖像進(jìn)行交互,包括平移、縮放、選中某一塊數(shù)據(jù)等操作。在繪制圖片的代碼后面,調(diào)用interactive()模塊,就能實(shí)現(xiàn)平移、縮放。

Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些Altair還為創(chuàng)建交互式圖像提供了一個selection的API,在選擇功能上,我們能做出一些更酷炫的高級功能,例如本文開頭處展示的GIF,對選中的數(shù)據(jù)點(diǎn)進(jìn)行統(tǒng)計(jì),生成實(shí)時的直方圖。 

import altair as alt 
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).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(source).mark_bar().encode( y='Origin:N', color='Origin:N', x='count(Origin):Q' ).transform_filter( brush )
points & bars

“Python數(shù)據(jù)可視化實(shí)現(xiàn)的方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI