堆疊面積圖和面積圖都是用于展示數(shù)據(jù)隨時(shí)間變化趨勢的統(tǒng)計(jì)圖表,但它們的特點(diǎn)有所不同。
面積圖的特點(diǎn)在于它能夠直觀地展示數(shù)量之間的關(guān)系,而且不需要標(biāo)注數(shù)據(jù)點(diǎn),可以輕松地觀察數(shù)據(jù)的變化趨勢。而堆疊面積圖則更適合展示多個(gè)數(shù)據(jù)系列之間的變化趨勢,它們一層層的堆疊起來,每個(gè)數(shù)據(jù)系列的起始點(diǎn)是上一個(gè)數(shù)據(jù)系列的結(jié)束點(diǎn),多數(shù)據(jù)列的展示更加直觀和易于理解。
堆疊面積圖觀察幾個(gè)數(shù)據(jù)系列隨時(shí)間的變化情況時(shí),既能看到各數(shù)據(jù)系列的走勢,又能看到整體的規(guī)模,
但是,過多的系列,也會(huì)導(dǎo)致難以分辨。
此外,堆疊面積圖展示的數(shù)據(jù)一般會(huì)有時(shí)間上的關(guān)聯(lián),當(dāng)數(shù)據(jù)沒有時(shí)間上的關(guān)聯(lián)時(shí),建議適用堆疊柱狀圖。
1. 主要元素
堆疊面積圖是一種用于展示數(shù)據(jù)分類、分組和數(shù)據(jù)關(guān)聯(lián)性的圖表,主要由以下幾個(gè)元素組成:
- 堆疊面積:表示數(shù)據(jù)的分布或密度
- 圖例:圖例用于說明堆疊圖的繪制規(guī)則和參數(shù)
- X軸:一般是有序變量,表示數(shù)據(jù)點(diǎn)的變化區(qū)間
- Y軸:數(shù)據(jù)點(diǎn)在不同時(shí)刻的值
2. 適用的場景
堆疊面積圖適用于以下分析場景:
- 類別占比比較:堆疊面積圖可以用來比較不同類別在總體中的占比關(guān)系。例如,你可以使用堆疊面積圖來展示銷售額按產(chǎn)品類別的分布情況,以顯示每個(gè)類別對(duì)總銷售額的貢獻(xiàn)。
- 趨勢展示:堆疊面積圖可以在一個(gè)圖表中同時(shí)顯示多個(gè)類別或組的趨勢。它可以用來展示每個(gè)類別在不同時(shí)間點(diǎn)或區(qū)域的變化情況,并幫助分析人員觀察和理解各類別之間的差異和趨勢。
- 堆疊級(jí)別比較:堆疊面積圖還可以用來比較不同級(jí)別的數(shù)據(jù)在總體中的占比關(guān)系。例如,你可以使用堆疊面積圖來展示各部門在總體支出中的比例,以顯示各個(gè)部門的相對(duì)貢獻(xiàn)。
- 累積效果展示:堆疊面積圖可以展示隨著時(shí)間、地區(qū)或其他維度的推移,各組別所積累的整體效果。這對(duì)于觀察累積效果的變化和趨勢非常有幫助。
3. 不適用的場景
堆疊面積圖不適用于以下分析場景:
- 數(shù)據(jù)重疊:如果數(shù)據(jù)中有重疊的部分,堆疊面積圖會(huì)使數(shù)據(jù)難以解讀和比較。當(dāng)數(shù)據(jù)的堆疊部分變得模糊或不清晰時(shí),堆疊面積圖可能就無法有效地傳達(dá)信息。
- 數(shù)據(jù)量變動(dòng):如果每個(gè)類別或組的數(shù)據(jù)量差別很大,堆疊面積圖可能會(huì)導(dǎo)致視覺上的需求不平衡。數(shù)據(jù)量較大的類別或組可能會(huì)過于突出,而數(shù)據(jù)量較小的類別或組則可能被掩蓋。
- 無法顯示趨勢:堆疊面積圖在展示數(shù)據(jù)的總體趨勢上相對(duì)有效,但卻不適用于顯示每個(gè)類別或組內(nèi)部的趨勢。如果你希望關(guān)注每個(gè)類別或組的個(gè)別趨勢,那么使用其他圖表類型如折線圖可能更為合適。
- 存在負(fù)值數(shù)據(jù):堆疊面積圖假設(shè)數(shù)據(jù)都是正值,不適合用于展示包含負(fù)值的數(shù)據(jù)。這是因?yàn)槎询B面積圖的堆疊效果會(huì)導(dǎo)致負(fù)值的表現(xiàn)相對(duì)模糊,難以準(zhǔn)確表達(dá)。
4. 分析實(shí)戰(zhàn)
這次使用三大產(chǎn)業(yè)的增加值來實(shí)戰(zhàn)堆疊面積圖的分析。
4.1. 數(shù)據(jù)來源
數(shù)據(jù)來源國家統(tǒng)計(jì)局公開數(shù)據(jù),已經(jīng)整理好的csv文件在:https://databook.top/nation/A02
本次分析使用其中的 A0201.csv
文件(國內(nèi)生產(chǎn)總值數(shù)據(jù))。
下面的文件路徑 fp
要換成自己實(shí)際的文件路徑。
fp = "d:/share/A0201.csv"
df = pd.read_csv(fp)
df
4.2. 數(shù)據(jù)清理
過濾出三大產(chǎn)業(yè)的數(shù)據(jù):
key1 = "第一產(chǎn)業(yè)增加值(億元)"
key2 = "第二產(chǎn)業(yè)增加值(億元)"
key3 = "第三產(chǎn)業(yè)增加值(億元)"
df = df[(df["zbCN"] == key1)
| (df["zbCN"] == key2)
| (df["zbCN"] == key3)]
df
4.3. 分析結(jié)果可視化
繪制三大產(chǎn)業(yè)的堆疊面積圖:
from matplotlib.ticker import MultipleLocator
key1 = "第一產(chǎn)業(yè)增加值(億元)"
key2 = "第二產(chǎn)業(yè)增加值(億元)"
key3 = "第三產(chǎn)業(yè)增加值(億元)"
val1 = df[(df["zbCN"] == key1)].sort_values("sj")
val2 = df[(df["zbCN"] == key2)].sort_values("sj")
val3 = df[(df["zbCN"] == key3)].sort_values("sj")
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.stackplot(
val1["sjCN"],
[val1["value"], val2["value"], val3["value"]],
labels=[key1, key2, key3],
alpha=0.8,
)
ax.legend(loc="upper left")
各個(gè)數(shù)據(jù)集在堆疊面積圖中不會(huì)重合,
所以不僅可以看出各個(gè)產(chǎn)業(yè)的增長情況,還能看出整體的增長主要來自哪個(gè)產(chǎn)業(yè)的影響。文章來源:http://www.zghlxwxcb.cn/news/detail-711797.html
從分析結(jié)果可以看出,我國的經(jīng)濟(jì)增長主要來自于第二,第三產(chǎn)業(yè)的增長。
這個(gè)結(jié)果和之前的文章中關(guān)于人口的分析也是相吻合的,在那個(gè)文章中,我們發(fā)現(xiàn)農(nóng)業(yè)人口大量減少,城鎮(zhèn)人口大量增加。文章來源地址http://www.zghlxwxcb.cn/news/detail-711797.html
到了這里,關(guān)于【matplotlib 實(shí)戰(zhàn)】--堆疊面積圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!