国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【matplotlib 實(shí)戰(zhàn)】--面積圖

這篇具有很好參考價(jià)值的文章主要介紹了【matplotlib 實(shí)戰(zhàn)】--面積圖。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

面積圖,或稱區(qū)域圖,是一種隨有序變量的變化,反映數(shù)值變化的統(tǒng)計(jì)圖表。

面積圖也可用于多個(gè)系列數(shù)據(jù)的比較。
這時(shí),面積圖的外觀看上去類似層疊的山脈,在錯(cuò)落有致的外形下表達(dá)數(shù)據(jù)的總量和趨勢(shì)。
面積圖不僅可以清晰地反映出數(shù)據(jù)的趨勢(shì)變化,也能夠強(qiáng)調(diào)不同類別的數(shù)據(jù)間的差距對(duì)比。

面積圖的特點(diǎn)在于,折線與自變量坐標(biāo)軸之間的區(qū)域,會(huì)由顏色或者紋理填充。
但它的劣勢(shì)在于,填充會(huì)讓形狀互相遮蓋,反而看不清變化。一種解決方法,是使用有透明度的顏色,來(lái)“讓”出覆蓋區(qū)域。

1. 主要元素

面積圖是一種用于展示數(shù)據(jù)分布或密度的圖表類型,主要由數(shù)據(jù)點(diǎn)、面積、以及X軸和Y軸組成。
面積圖可以直觀地反映數(shù)據(jù)的分布情況。

面積圖的主要構(gòu)成元素包括:

  1. 數(shù)據(jù)點(diǎn):表示數(shù)據(jù)的具體位置和大小
  2. 面積:表示數(shù)據(jù)的分布或密度
  3. X軸:一般是有序變量,表示數(shù)據(jù)點(diǎn)的變化區(qū)間
  4. Y軸:數(shù)據(jù)點(diǎn)在不同時(shí)刻的值

【matplotlib 實(shí)戰(zhàn)】--面積圖

2. 適用的場(chǎng)景

面積圖適用于以下分析場(chǎng)景:

  • 數(shù)據(jù)分布分析:幫助分析人員了解數(shù)據(jù)的分布情況,如城市的大小、人口分布等。
  • 市場(chǎng)需求分析:幫助企業(yè)了解市場(chǎng)需求的變化趨勢(shì),如銷售額的增長(zhǎng)情況等。
  • 健康狀況分析:幫助醫(yī)生了解患者的健康狀況,如體溫、血壓等數(shù)據(jù)的變化趨勢(shì)。

3. 不適用的場(chǎng)景

面積圖不適用于以下分析場(chǎng)景:

  • 數(shù)據(jù)的精確性要求較高的分析場(chǎng)景:面積圖無(wú)法精確地反映數(shù)據(jù)的分布情況,在需要精確數(shù)據(jù)的場(chǎng)景中不適用。
  • 需要顯示數(shù)據(jù)細(xì)節(jié)的分析場(chǎng)景:面積圖無(wú)法直觀地顯示數(shù)據(jù)的細(xì)節(jié)和變化趨勢(shì),在需要顯示數(shù)據(jù)細(xì)節(jié)的場(chǎng)景中不適用。
  • 需要進(jìn)行多維數(shù)據(jù)分析的場(chǎng)景:面積圖無(wú)法直接展示多維數(shù)據(jù),在需要進(jìn)行多維數(shù)據(jù)分析的場(chǎng)景中不適用。

4. 分析實(shí)戰(zhàn)

這次使用國(guó)內(nèi)生產(chǎn)總值相關(guān)數(shù)據(jù)來(lái)實(shí)戰(zhàn)面積圖的分析。

4.1. 數(shù)據(jù)來(lái)源

數(shù)據(jù)來(lái)源國(guó)家統(tǒng)計(jì)局公開數(shù)據(jù),已經(jīng)整理好的csv文件在:https://databook.top/nation/A02

本次分析使用其中的 A0201.csv 文件(國(guó)內(nèi)生產(chǎn)總值數(shù)據(jù))。

下面的文件路徑 fp 要換成自己實(shí)際的文件路徑。

fp = "d:/share/A0201.csv"

df = pd.read_csv(fp)
df

【matplotlib 實(shí)戰(zhàn)】--面積圖

4.2. 數(shù)據(jù)清理

從中過(guò)濾出國(guó)內(nèi)生產(chǎn)總值(億元)人均國(guó)內(nèi)生產(chǎn)總值(元),然后繪制面積圖看看有什么發(fā)現(xiàn)。

key1 = "國(guó)民總收入(億元)"
df[df["zbCN"]==key1].head()

【matplotlib 實(shí)戰(zhàn)】--面積圖

key2 = "人均國(guó)內(nèi)生產(chǎn)總值(元)"
df[df["zbCN"]==key2].head()

【matplotlib 實(shí)戰(zhàn)】--面積圖

4.3. 分析結(jié)果可視化

國(guó)內(nèi)生產(chǎn)總值(億元)的面積圖:

from matplotlib.ticker import MultipleLocator

with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    ax.xaxis.set_major_locator(MultipleLocator(4))
    ax.xaxis.set_minor_locator(MultipleLocator(2))

    data = df[df["zbCN"] == key1].copy()
    data["value"] = data["value"] / 10000
    data = data.sort_values(by="sj")
    ax.fill_between(data["sjCN"], data["value"], label="國(guó)民總收入(萬(wàn)億元)")

    ax.legend(loc="upper left")

【matplotlib 實(shí)戰(zhàn)】--面積圖

上面的代碼把Y軸的單位改成了萬(wàn)億元,原先的億元作為單位,數(shù)值太大。
面積圖來(lái)展示分析結(jié)果,不像折線圖那樣,僅僅只是變化趨勢(shì)的感覺;
通過(guò)折線下的面積不斷擴(kuò)大,會(huì)感覺到國(guó)民總收入的總量在不斷變大,且2006年之后,總量增速明顯提高。

同樣分析步驟,人均收入的面積圖如下:

from matplotlib.ticker import MultipleLocator

with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    ax.xaxis.set_major_locator(MultipleLocator(4))
    ax.xaxis.set_minor_locator(MultipleLocator(2))

    data = df[df["zbCN"] == key2].copy()
    data = data.sort_values(by="sj")
    ax.fill_between(data["sjCN"], data["value"], label=key2)

    ax.legend(loc="upper left")

【matplotlib 實(shí)戰(zhàn)】--面積圖

接下來(lái),我們把國(guó)民總收入人均收入放在一起看,但是,這兩組數(shù)據(jù)的單位不一樣(一個(gè)是萬(wàn)億元,一個(gè)是元)。
所以要用到之前 matplotlib基礎(chǔ)系列中介紹的雙坐標(biāo)軸技巧來(lái)展示。

from matplotlib.ticker import MultipleLocator

with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    ax.xaxis.set_major_locator(MultipleLocator(4))
    ax.xaxis.set_minor_locator(MultipleLocator(2))
    ax_twinx = ax.twinx()

    data = df[df["zbCN"] == key1].copy()
    data["value"] = data["value"] / 10000
    data = data.sort_values(by="sj")
    ax.fill_between(data["sjCN"], data["value"], 
                    alpha=0.5, label="國(guó)民總收入(萬(wàn)億元)")

    data = df[df["zbCN"] == key2].copy()
    data = data.sort_values(by="sj")
    ax_twinx.fill_between(data["sjCN"], data["value"], 
                          color='r', alpha=0.2, label=key2)

    ax.legend(loc="upper left")
    ax_twinx.legend(loc="upper right")

【matplotlib 實(shí)戰(zhàn)】--面積圖

兩個(gè)面積圖用了不同顏色,并加了透明度(即alpha 參數(shù)),不加透明度,顏色會(huì)互相覆蓋。
左邊的Y軸是國(guó)民總收入,右邊的Y軸是人均收入。
這兩個(gè)面積圖幾乎完全重合,正說(shuō)明了國(guó)民總收入人均收入是強(qiáng)相關(guān)的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-710501.html

到了這里,關(guān)于【matplotlib 實(shí)戰(zhàn)】--面積圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包