Python數(shù)據(jù)可視化:如何選擇合適的圖表可視化?
最近在學(xué)習(xí)嵌入式Linux,沒系統(tǒng)掌握前暫時(shí)沒辦法輸出相關(guān)的博文,最近準(zhǔn)備先分享一些Python數(shù)據(jù)可視化的相關(guān)知識(shí)。
本篇文章為Python數(shù)據(jù)可視化第一篇,講解如何選擇合適的圖表進(jìn)行數(shù)據(jù)可視化。
國外專家Nathan Yau總結(jié)了數(shù)據(jù)可視化過程中要經(jīng)歷的4個(gè)過程。
你擁有什么樣的數(shù)據(jù)(What data do you have) ?
你想表達(dá)什么樣的數(shù)據(jù)信息(What do you want to know about your data) ?
你應(yīng)該采用什么樣的數(shù)據(jù)可視化方法(What visualization methods should youuse) ?
你從圖表中能獲得什么樣的數(shù)據(jù)信息(What do you see and does it makessense)?
如下圖所示:
其中,你應(yīng)該采用什么樣的數(shù)據(jù)可視化方法尤為關(guān)鍵,這就需要我們了解有哪些圖表類型來可視化數(shù)據(jù)。
根據(jù)表達(dá)數(shù)據(jù)的側(cè)重內(nèi)容點(diǎn),將圖表類型分為6大類:類別比較圖表、數(shù)據(jù)關(guān)系圖表、數(shù)據(jù)分布圖表、時(shí)間序列圖表、局部整體圖表和地理空間圖表(有些圖表也可以歸類于兩種或多種圖表類型)。
1
類別比較圖表
類別比較型圖表的數(shù)據(jù)一般分為:數(shù)值型和類別型兩種數(shù)據(jù)類型,主要包括:柱形圖、條形圖、雷達(dá)圖、坡度圖、詞云圖等,通常用來比較數(shù)據(jù)的規(guī)模。
如下所示:
2
數(shù)據(jù)關(guān)系圖表
數(shù)據(jù)關(guān)系型圖表分為數(shù)值關(guān)系型、層次關(guān)系型和網(wǎng)絡(luò)關(guān)系型三種圖表類型。
數(shù)值關(guān)系型圖表主要展示兩個(gè)或多個(gè)變量之間的關(guān)系,包括最常見的散點(diǎn)圖、氣泡圖、曲面圖、矩陣散點(diǎn)圖等。該圖表的變量一般都為數(shù)值型,當(dāng)變量為1~3個(gè)時(shí),可以采用散點(diǎn)圖、氣泡圖、曲面圖等;當(dāng)變量多于3個(gè)時(shí),可以采用高維數(shù)據(jù)可視化方法,如平行坐標(biāo)系、矩陣散點(diǎn)圖、徑向坐標(biāo)圖、星形圖和切爾諾夫臉譜圖等。
層次關(guān)系型圖表著重表達(dá)數(shù)據(jù)個(gè)體之間的層次關(guān)系,主要包括包含和從屬兩類,比如公司不同部門的組織結(jié)構(gòu),不同洲的國家包含關(guān)系等,包括節(jié)點(diǎn)鏈接圖、樹形圖、冰柱圖、旭日圖、圓填充圖、矩形樹狀圖等。
網(wǎng)絡(luò)關(guān)系型圖表是指那些不具備層次結(jié)構(gòu)的關(guān)系數(shù)據(jù)的可視化。與層次關(guān)系型數(shù)據(jù)不同,網(wǎng)絡(luò)關(guān)系型數(shù)據(jù)并不具備自底向上或者自頂向下的層次結(jié)構(gòu),表達(dá)的數(shù)據(jù)關(guān)系更加自由和復(fù)雜,其可視化的方法常包括:?;鶊D、****圖、節(jié)點(diǎn)鏈接圖、弧長鏈接圖、蜂箱圖等。
如下圖所示:
3
數(shù)據(jù)分布圖表
數(shù)據(jù)分布型圖表主要顯示數(shù)據(jù)集中的數(shù)值及其出現(xiàn)的頻率或者分布規(guī)律,包括統(tǒng)計(jì)直方圖、核密度曲線圖、箱形圖、小提琴圖等。
如下圖所示:
其中,統(tǒng)計(jì)直方圖最為簡單與常見,又稱質(zhì)量分布圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。
4
時(shí)間序列圖表
時(shí)間序列型圖表強(qiáng)調(diào)數(shù)據(jù)隨時(shí)間的變化規(guī)律或者趨勢,X軸一般為時(shí)序數(shù)據(jù),Y軸為數(shù)值型數(shù)據(jù),包括折線圖、面積圖、雷達(dá)圖、日歷圖、柱形圖等。
如下圖所示:
其中,折線圖是用來顯示時(shí)間序列變化趨勢的標(biāo)準(zhǔn)方式,非常適用于顯示在相等時(shí)間間隔下數(shù)據(jù)的趨勢。
5
局部整體圖表
局部整體型圖表能顯示出局部組成成分與整體的占比信息,主要包括餅圖、圓環(huán)圖、旭日圖、華夫餅圖、矩形樹狀圖等。
餅圖是用來呈現(xiàn)部分和整體關(guān)系的常見方式,在餅圖中,每個(gè)扇區(qū)的弧長(以及圓心角和面積)大小為其所表示的數(shù)量的比例。但要注意的是,這類圖很難去精確比較不同組成的大小。
6
地理空間圖表
地理空間型圖表主要展示數(shù)據(jù)中的精確位置和地理分布規(guī)律,包括等值區(qū)間地圖、帶氣泡的地圖、帶散點(diǎn)的地圖等。地圖用地理坐標(biāo)系可以映射位置數(shù)據(jù)。位置數(shù)據(jù)的形式有許多種,包括經(jīng)度、緯度、郵編等。但通常都是用緯度和經(jīng)度來描述的。Python的GeoPandas包可以讀取SHP和GEOJSON等格式的地理空間數(shù)據(jù),使用plot()函數(shù)或者ggplot()函數(shù)可以繪制地理空間型圖表。
《地圖管理?xiàng)l例》第十五條規(guī)定:“國家實(shí)行地圖審核制度。向社會(huì)公開的地圖,應(yīng)當(dāng)報(bào)送有審核權(quán)的測繪地理信息行政主管部門審核。但是,景區(qū)圖、街區(qū)圖、地鐵線路圖等內(nèi)容簡單的地圖除外?!?/p>
繪制這些不同類型的圖表,主要使用matplotlib、plotnine、Seaborn等包。對于二維直角坐標(biāo)系下的圖表,主要使用plotnine和Seaborn;對于極坐標(biāo)系和三維直角坐標(biāo)系下的圖表,則需要使用matplotlib繪制以上不同類別的圖表。
這些圖表的繪制方法在后面的文章都會(huì)進(jìn)行詳細(xì)講解。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。
萬能遙控器相關(guān)文章:萬能遙控器代碼
射頻卡相關(guān)文章:射頻卡原理