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

Python數(shù)據(jù)可視化(三)繪制統(tǒng)計(jì)圖形大全

這篇具有很好參考價(jià)值的文章主要介紹了Python數(shù)據(jù)可視化(三)繪制統(tǒng)計(jì)圖形大全。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

3.1 柱狀圖

以 Python 代碼的形式講解柱狀圖的繪制原理,這里重點(diǎn)講解 bar()函數(shù)的使用方法。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5]
y = [6,10,4,5,1]
# create bar
plt.bar(x,y,align="center",color="r",tick_label=["A","B","C","D","E"],alpha=0.6)
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")
# set yaxis grid
plt.grid(True,axis="y",ls=":",color="r",alpha=0.3)
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

為了展示圖表里的中文字體,我們選擇字體“SimHei”, 通 過(guò) “mpl.rcParams["font.sans-serif"]

=["SimHei"]”完成字體配置任務(wù)。不使用默認(rèn)的“Unicode minus”模式來(lái)處理坐標(biāo)軸軸線的刻度標(biāo)

簽是負(fù)數(shù)的情況,一般可以使用“ASCII hyphen”模式來(lái)處理坐標(biāo)軸軸線的負(fù)刻度值的情況,即 通

過(guò)“mpl.rcParams["axes.unicode_minus"]=False”語(yǔ)句實(shí)現(xiàn)模式的選擇。

語(yǔ)句中各參數(shù)的含義:

  • x:柱狀圖中的柱體標(biāo)簽值。

  • y:柱狀圖中的柱體高度。

  • align:柱體對(duì)齊方式。

  • color:柱體顏色。

  • tick_label:刻度標(biāo)簽值。

  • alpha:柱體的透明度。

3.2 條形圖

將柱狀圖中的柱體由垂直方 向變成水平方 向,柱狀圖就變成條形圖,函數(shù)也就變成barh(x,y,align="center",color="k",tick_label=["A","B","C","D","E"]),其中參數(shù) x 是 y 軸上柱體標(biāo)簽值,y 是柱體的寬度,在 x 軸上顯示,tick_label 表示 y 軸上的柱體標(biāo)簽值。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5]
y = [6,10,6,5,6]
# create horizontal bar
plt.barh(x,y,align="center",color="r",tick_label=["A","B","C","D","E"])
# set x,y_axis label
plt.ylabel("測(cè)試難度")
plt.xlabel("試卷份數(shù)")
# set xaxis grid
plt.grid(True,axis="x",ls=":",color="r",alpha=0.3)
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.3 堆積圖

堆積圖顧名思義就是將若干統(tǒng)計(jì)圖形堆疊起來(lái)的統(tǒng)計(jì)圖形,自然是一種組合式圖形。下面,我們就結(jié)合前面講過(guò)的柱狀圖和條形圖的繪制方法,具體講解堆積柱狀圖和堆積條形圖的實(shí)現(xiàn)方法。

3.3.1堆積柱狀圖

如果將函數(shù) bar()中的參數(shù) bottom 的取值設(shè)定為列表 y,列表 y1=[2,6,3,8,5]代表另一套試卷的份

數(shù),函數(shù) bar(x,y1,bottom=y,color="r")就會(huì)輸出堆積柱狀圖。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5]
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]
# create bar
plt.bar(x,y,align="center",color="#66c2a5",tick_label=["A","B","C","D","E"],label="班級(jí) A")
plt.bar(x,y1,align="center",bottom=y,color="#8da0cb",label="班級(jí) B")
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")
plt.legend()
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.3.2堆積條形圖

將函數(shù) barh()中的參數(shù) left 的取值設(shè)定為列表 y,列表 y1=[2,6,3,8,5]代表另一套試卷的份數(shù),

函數(shù) barh(x,y1,left=y,color="r")就會(huì)輸出堆積條形圖。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5]
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]
# create bar
plt.barh(x,y,align="center",color="#66c2a5",tick_label=["A","B","C","D","E"],label="班級(jí) A")
plt.barh(x,y1,align="center",left=y,color="#8da0cb",label="班級(jí) B")
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")
plt.legend()
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.4 分塊圖

3.4.1多數(shù)據(jù)并列柱狀圖

對(duì)于堆積柱狀圖而言,我們也可以選擇多數(shù)據(jù)并列柱狀圖來(lái)改變堆積柱狀圖的可視化效果。當(dāng)

然,堆積條形圖也可以改變可視化效果,呈現(xiàn)多數(shù)據(jù)平行條形圖的圖形樣式。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]
bar_width = 0.35
tick_label=["A","B","C","D","E"]
# create bar
plt.bar(x,y,bar_width,color="c",align="center",label="班級(jí) A",alpha=0.5)
plt.bar(x+bar_width,y1,bar_width,color="b",align="center",label=" 班級(jí)B",alpha=0.5)
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")
# set xaxis ticks and ticklabels
plt.xticks(x+bar_width/2,tick_label)
plt.legend()
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.4.2多數(shù)據(jù)平行條形圖

對(duì)于堆積條形圖而言,我們也同樣可以選擇多數(shù)據(jù)平行條形圖來(lái)改變堆積條形圖的可視化效果。

多數(shù)據(jù)平行條形圖與多數(shù)據(jù)并列柱狀圖的實(shí)現(xiàn)方法是類似的,只是調(diào)用函數(shù)由 bar()變成 barh()。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y = [6,10,4,5,1]
y1 = [2,6,3,8,5]
bar_width = 0.35
tick_label=["A","B","C","D","E"]
# create bar
plt.barh(x,y,bar_width,color="c",align="center",label="班級(jí) A",alpha=0.5)
plt.barh(x+bar_width,y1,bar_width,color="b",align="center",label=" 班級(jí)B",alpha=0.5)
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.5 參數(shù)探索

如果想在柱體上繪制裝飾線或裝飾圖,也就是說(shuō),設(shè)置柱體的填充樣式。我們可以使用關(guān) 鍵字參數(shù)hatch,關(guān)鍵字參數(shù) hatch 可以有很多取值,例如,“"/"”“"\\"”“"|"”“"-"”等,每種符號(hào)字符串

都是一種填充柱體的幾何樣式。而且,符號(hào)字符串的符號(hào)數(shù)量越多,柱體的幾何圖形的密集程度越高。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = [1,2,3,4,5]
y = [6,10,4,5,1]
# create bar
plt.bar(x,y,align="center",color="c",tick_label=["A","B","C","D","E"],hatch="|//")
# set x,y_axis label
plt.xlabel("測(cè)試難度")
plt.ylabel("試卷份數(shù)")
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.6 堆積折線圖、間斷條形圖和階梯圖

3.6.1用函數(shù) stackplot()繪制堆積折線圖

堆積折線圖是通過(guò)繪制不同數(shù)據(jù)集的折線圖而生成的。堆積折線圖是按照垂直方向上彼此堆疊

且又不相互覆蓋的排列順序,繪制若干條折線圖而形成的組合圖形。

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1,6,1)
y = [0,4,3,5,6]
y1 = [1,3,4,2,7]
y2 = [3,4,1,6,5]
labels = ["BluePlanet","BrownPlanet","GreenPlanet"]
colors = ["#8da0cb","#fc8d62","#66c2a5"]
plt.stackplot(x,y,y1,y2,labels=labels,colors=colors)
plt.legend(loc="upper left")
plt.show()

運(yùn)行如圖:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.6.2用函數(shù) broken_barh ()繪制間斷條形圖

間斷條形圖是在條形圖的基礎(chǔ)上繪制而成的,主要用來(lái)可視化定性數(shù)據(jù)的相同指標(biāo)在時(shí)間維度

上的指標(biāo)值的變化情況,實(shí)現(xiàn)定性數(shù)據(jù)的相同指標(biāo)的變化情況的有效直觀比較。

代碼如下:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["LiSu"]
mpl.rcParams["axes.unicode_minus"]=False
plt.broken_barh([(30,100),(180,50),(260,70)],(20,8),facecolors="#1f78b4")
plt.broken_barh([(60,90),(190,20),(230,30),(280,60)],(10,8),facecolors=(
"#7fc97f","#beaed4","#fdc086","#ffff99"))
plt.xlim(0,360)
plt.ylim(5,35)
plt.xlabel("演出時(shí)間")
plt.xticks(np.arange(0,361,60))
plt.yticks([15,25],["歌劇院 A","歌劇院 B"])
plt.grid(ls="-",lw=1,color="gray")
plt.title("不同地區(qū)的歌劇院的演出時(shí)間比較")
plt.show()

運(yùn)行如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

列表“[(60,90),(190,20),(230,30),(280,60)]”的元組表示從起點(diǎn)是 x 軸的數(shù)值為 60 的位置起,沿x軸正方向移動(dòng) 90 個(gè)單位。其他元組的含義類似。參數(shù)“(10,8)”表示從起點(diǎn)是 y 軸的數(shù)值為 10 的位置起,沿 y 軸正方向移動(dòng) 8 個(gè)單位,這就是每個(gè)柱體的高度和垂直起始位置。關(guān)鍵字參數(shù) facecolors 表示每個(gè)柱體的填充顏色,這里使用 HEX 模式的顏色表示方法。

3.6.3用函數(shù) step()繪制階梯圖

階梯圖在可視化效果上正如圖形的名字那樣形象,就如同山間的臺(tái)階時(shí)而上升時(shí)而下降,從圖形本身而言,很像折線圖。也用采是反映數(shù)據(jù)的趨勢(shì)變化或是周期規(guī)律的。階梯圖經(jīng)常使用在時(shí)間序列數(shù)據(jù)的可視化任務(wù)中,凸顯時(shí)序數(shù)據(jù)的波動(dòng)周期和規(guī)律。

代碼實(shí)現(xiàn)

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1,10,10)
y = np.sin(x)
plt.step(x,y,color="#8dd3c7", where="pre",lw=2)
plt.xlim(0,11)
plt.xticks(np.arange(1,11,1))
plt.ylim(-1.2,1.2)
plt.show()

運(yùn)行結(jié)果如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.7 直方圖

直方圖是用來(lái)展現(xiàn)連續(xù)型數(shù)據(jù)分布特征的統(tǒng)計(jì)圖形。利用直方圖我們可以直觀地分析出數(shù)據(jù)的

集中趨勢(shì)和波動(dòng)情況。

我們以 Python 代碼的形式講解直方圖的繪制原理,主要講解 hist()函數(shù)的使用方法。

代碼實(shí)現(xiàn)

import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
import matplotlib.pyplot as plt
import numpy as np
# set test scores
scoresT = np.random.randint(0,100,100)
x = scoresT
# plot histogram
bins = range(0,101,10)
plt.hist(x,bins=bins,
color="#377eb8",
histtype="bar",
rwidth=10)
# set x,y-axis label
plt.xlabel("測(cè)試成績(jī)")
plt.ylabel("學(xué)生人數(shù)")
plt.show()

運(yùn)行結(jié)果如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

首先,我們先解釋一下函數(shù) hist(x,bins=bins,color= "b",histtype="bar",label="score",rwidth=10)的參數(shù)的含義。

x:連續(xù)型數(shù)據(jù)輸入值。

bins:用于確定柱體的個(gè)數(shù)或是柱體邊緣范圍。

color:柱體的顏色。

histtype:柱體類型。

label:圖例內(nèi)容。

rwidth:柱體寬度。

3.8 餅圖

餅圖是用來(lái)展示定性數(shù)據(jù)比例分布特征的統(tǒng)計(jì)圖形。通過(guò)繪制餅圖,我們可以清楚地觀察出數(shù)

據(jù)的占比情況。

我們以 Python 代碼的形式來(lái)講述餅圖的繪制原理,我們重點(diǎn)講解 pie()函數(shù)的使用細(xì)節(jié)。

代碼實(shí)現(xiàn):

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
labels = "A 難度水平","B 難度水平","C 難度水平","D 難度水平"
students = [0.35,0.15,0.20,0.30]
colors = ["#377eb8","#4daf4a","#984ea3","#ff7f00"]
explode = (0.1,0.1,0.1,0.1)
# exploded pie chart
plt.pie(students,explode=explode,
labels=labels,
autopct="%3.1f%%",
startangle=45,
shadow=True,
colors=colors)
plt.title("選擇不同難度測(cè)試試卷的學(xué)生百分比")
plt.show()

運(yùn)行結(jié)果如圖:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

解釋一下函 數(shù) pie(students,explode=explode,labels=labels,autopct= "%3.1f%%",

startangle=45,shadow=True, colors=colors)的參數(shù)含義,如下所示。

students:餅片代表的百分比。

explode:餅片邊緣偏離半徑的百分比。

labels:標(biāo)記每份餅片的文本標(biāo)簽內(nèi)容。

autopct:餅片文本標(biāo)簽內(nèi)容對(duì)應(yīng)的數(shù)值百分比樣式。

startangle:從 x 軸作為起始位置,第一個(gè)餅片逆時(shí)針旋轉(zhuǎn)的角度。

shadow:是否繪制餅片的陰影。

colors:餅片的顏色。

上面講過(guò)分裂式餅圖的繪制方法,接下來(lái)就調(diào)整函數(shù) pie()的參數(shù),繪制其他類型的餅圖。

如果我們不繪制分裂式餅圖 ,那么只需要去掉參數(shù) explode 即可。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
labels = "A 難度水平","B 難度水平","C 難度水平","D 難度水平"
students = [0.35,0.15,0.20,0.30]
colors = ["#377eb8","#4daf4a","#984ea3","#ff7f00"]
# exploded pie chart
plt.pie(students,
labels=labels,
autopct="%3.1f%%",
startangle=45,
pctdistance=0.7,
labeldistance=1.2,
colors=colors)
plt.title("選擇不同難度測(cè)試試卷的學(xué)生百分比")
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

餅圖不僅可以用來(lái)描述定性數(shù)據(jù)的比例分布,還可以將多個(gè)餅圖進(jìn)行嵌套,從而實(shí)現(xiàn)內(nèi)嵌環(huán)形

餅圖的可視化效果。

代碼:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
elements = ["面粉","砂糖","奶油","草莓醬","堅(jiān)果"]
weight1 = [40,15,20,10,15]
weight2 = [30,25,15,20,10]
colormapList = ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"]
outer_colors = colormapList
inner_colors = colormapList
wedges1,texts1,autotexts1 = plt.pie(weight1,
autopct="%3.1f%%",
radius=1,
pctdistance=0.85,
colors=outer_colors,
textprops=dict(color="w"),
wedgeprops=dict(width=0.3,edgecolor="w"))
wedges2,texts2,autotexts2 = plt.pie(weight2,
autopct="%3.1f%%",
radius=0.7,
pctdistance=0.75,
colors=inner_colors,
textprops=dict(color="w"),
wedgeprops=dict(width=0.3,edgecolor="w"))
plt.legend(wedges1,
elements,
fontsize=12,
title="配料表",
loc="center left",
bbox_to_anchor=(0.91, 0, 0.3, 1))
plt.setp(autotexts1,size=15,weight="bold")
plt.setp(autotexts2,size=15,weight="bold")
plt.setp(texts1,size=12)

plt.title("不同果醬面包配料比例表的比較")
plt.show()

運(yùn)行結(jié)果:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

3.9誤差棒圖

在很多科學(xué)實(shí)驗(yàn)中都存在測(cè)量誤差或是試驗(yàn)誤差,這是無(wú)法控制的客觀因素。這樣,在可視化試驗(yàn)結(jié)果的時(shí)候,最好可以給試驗(yàn)結(jié)果增加觀測(cè)結(jié)果的誤差以表示客觀存在的測(cè)量偏差。誤差棒圖就是可以運(yùn)用在這一場(chǎng)景中的很理想的統(tǒng)計(jì)圖形。通過(guò)抽樣獲得樣本,對(duì)總體參數(shù)進(jìn)行估計(jì)會(huì)由于樣本的隨機(jī)性導(dǎo)致參數(shù)估計(jì)值出現(xiàn)波動(dòng),因此需要用誤差置信區(qū)間來(lái)表示對(duì)總體參數(shù)估計(jì)的可靠范圍。誤差棒就可以很好地實(shí)現(xiàn)充當(dāng)總體參數(shù)估計(jì)的置信區(qū)間的角色。誤差棒的計(jì)算方法可以有很多種:?jiǎn)我粩?shù)值、置信區(qū)間、標(biāo)準(zhǔn)差和標(biāo)準(zhǔn)誤等。誤差 棒的可視化展示效果也有很多種樣式:水平誤差棒、垂直誤差棒、對(duì)稱誤差棒和非對(duì)稱誤差棒等。

我們以 Python 代碼的形式講解誤差棒的繪制原理,主要講解函數(shù) errorbar()的使用方法和參數(shù)使用細(xì)節(jié)。

代碼實(shí)現(xiàn)

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,0.6,10)
y = np.exp(x)
error = 0.05+0.15*x
lower_error = error
upper_error = 0.3*error
error_limit = [lower_error,upper_error]
plt.errorbar(x,y,yerr=error_limit,fmt=":o",
ecolor="y",elinewidth=4,
ms=5,mfc="c",mec='r',
capthick=1,capsize=2)
plt.xlim(0,0.7)
plt.show()

運(yùn)行結(jié)果如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

我們采用單一數(shù)值的非對(duì)稱形式的誤差棒,函數(shù) errorbar()的參數(shù)含義如下所示。

x,y:數(shù)據(jù)點(diǎn)的位置。

yerr:?jiǎn)我粩?shù)值的非對(duì)稱形式誤差范圍。

fmt:數(shù)據(jù)點(diǎn)的標(biāo)記樣式和數(shù)據(jù)點(diǎn)標(biāo)記的連接線樣式。

ecolor:誤差棒的線條顏色。

elinewidth:誤差棒的線條粗細(xì)。

ms:數(shù)據(jù)點(diǎn)的大小。

mfc:數(shù)據(jù)點(diǎn)的標(biāo)記顏色。

mec:數(shù)據(jù)點(diǎn)的標(biāo)記邊緣顏色。

capthick:誤差棒邊界橫杠的厚度。

capsize:誤差棒邊界橫杠的大小。

函數(shù) errorbar()里的關(guān)鍵字參數(shù) yerr 使用了誤差范圍的非對(duì)稱形式,而且是數(shù)據(jù)點(diǎn)下方的誤差范圍大于數(shù)據(jù)點(diǎn)上方的誤差范圍。關(guān)鍵字參數(shù) xerr 也可以使用類似的誤差范圍,關(guān)鍵字參數(shù) fmt 如果取“none”值時(shí),數(shù)據(jù)點(diǎn)的連線、數(shù)據(jù)點(diǎn)的標(biāo)記樣式和顏色都不顯示。關(guān)鍵字參數(shù) capthick 也可以用關(guān)鍵字參數(shù) mew 代替。

本節(jié)我們講解了誤差棒圖的繪制方法,知道了誤差棒圖是用來(lái)展示定量數(shù)據(jù)誤差范圍的統(tǒng)計(jì)圖形。如果只是單一地使用誤差棒圖可能不會(huì)很好地發(fā)揮這種統(tǒng)計(jì)圖形的實(shí)際應(yīng)用價(jià)值。因此,需要我們將其他統(tǒng)計(jì)圖形與誤差棒圖相結(jié)合來(lái)展示數(shù)據(jù)集的測(cè)量誤差等內(nèi)容。

帶誤差棒的柱狀圖

我們前面已經(jīng)講過(guò)柱狀圖和誤差棒圖的繪制原理,現(xiàn)在我們可以將這兩種統(tǒng)計(jì)圖形結(jié)合起來(lái),繪制帶誤差棒的柱狀圖,使得統(tǒng)計(jì)圖形在反映數(shù)據(jù)測(cè)量誤差方面的應(yīng)用領(lǐng)域得到拓展。這種統(tǒng)計(jì)圖形在科學(xué)研究領(lǐng)域里應(yīng)用范圍很廣泛。

(1)代碼實(shí)現(xiàn)

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["LiSu"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y = [100,68,79,91,82]
std_err = [7,2,6,10,5]
error_attri = dict(elinewidth=2,ecolor="black",capsize=3)
# create bar with errorbar
plt.bar(x,y,
color="c",
width=0.6,
align="center",
yerr=std_err,
error_kw=error_attri,
tick_label=["園區(qū) 1","園區(qū) 2","園區(qū) 3","園區(qū) 4","園區(qū) 5"])
# set x,y_axis label
plt.xlabel("芒果種植區(qū)")
plt.ylabel("收割量")
# set title of axes
plt.title("不同芒果種植區(qū)的單次收割量")
# set yaxis grid
plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)
plt.show()

運(yùn)行結(jié)果如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

帶誤差棒的條形圖

我們前面已經(jīng)講過(guò)條形圖和誤差棒圖的繪制原理,現(xiàn)在我們可以將這兩種統(tǒng)計(jì)圖形結(jié)合起來(lái),繪制帶誤差棒的條形圖。如果我們?cè)噲D反映定性數(shù)據(jù)的分布特征,同時(shí)還要反映分布的波動(dòng)特征,那么這種統(tǒng)計(jì)圖形就是合適之選。這種統(tǒng)計(jì)圖形在科學(xué)研究領(lǐng)域里的用途很多。

代碼實(shí)現(xiàn)

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["LiSu"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y = [1200,2400,1800,2200,1600]
std_err = [150,100,180,130,80]
bar_width = 0.6
colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"]
# create horizontal bar
plt.barh(x,y,
bar_width,
color=colors,
align="center",
xerr=std_err,
tick_label=["家庭","小說(shuō)","心理","科技","兒童"])
# set x,y_axis label
plt.xlabel("訂購(gòu)數(shù)量")
plt.ylabel("圖書種類")
# set title
plt.title("大型圖書展銷會(huì)的不同圖書種類的采購(gòu)情況")
# set xaxis grid
plt.grid(True,axis="x",ls=":",color="gray",alpha=0.2)
plt.xlim(0,2600)
plt.show()

運(yùn)行結(jié)果如下:

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

帶誤差棒的條形圖的繪制是通過(guò)使用函數(shù) barh()中的關(guān)鍵字參數(shù) xerr 實(shí)現(xiàn)的。其他關(guān)鍵字參數(shù)的含義和用法都已經(jīng)在前面有關(guān)柱狀圖里繪制條形圖的部分詳細(xì)介紹過(guò)。條形圖的填充顏色是使用HEX 模式進(jìn)行命名的,文中的中文字體是使用隸書“LiSu”字體。

帶誤差棒的多數(shù)據(jù)并列柱狀圖

在上面講述了帶誤差棒的柱狀圖的繪制方法,其中的應(yīng)用場(chǎng)景是有關(guān)于“不同芒果種植區(qū)的單次收割量”的案例。如果我們嘗試進(jìn)一步比較不同年份的不同芒果種植區(qū)的單次收割量的情況,那么就可以借助帶誤差棒的多數(shù)據(jù)并列柱狀圖進(jìn)行可視化展示。

代碼實(shí)現(xiàn)

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["LiSu"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y1 = [100,68,79,91,82]
y2 = [120,75,70,78,85]
std_err1 = [7,2,6,10,5]
std_err2 = [5,1,4,8,9]
error_attri = dict(elinewidth=2,ecolor="black",capsize=3)
bar_width = 0.4
tick_label=["園區(qū) 1","園區(qū) 2","園區(qū) 3","園區(qū) 4","園區(qū) 5"]
# create bar with errorbar
plt.bar(x,y1,
bar_width,
color="#87CEEB",
align="center",
yerr=std_err1,
error_kw=error_attri,
label="2010")
plt.bar(x+bar_width,y2,
bar_width,
color="#CD5C5C",
align="center",
yerr=std_err2,
error_kw=error_attri,
label="2013")
# set x,y_axis label
plt.xlabel("芒果種植區(qū)")
plt.ylabel("收割量")
# set xaxis tick_label
plt.xticks(x+bar_width/2,tick_label)
# set title of axes
plt.title("不同年份的芒果種植區(qū)的單次收割量")
# set yaxis grid
plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)
plt.legend()
plt.show()

運(yùn)行結(jié)果如圖

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

帶誤差棒的堆積柱狀圖

如果我們嘗試比較不同地區(qū)的圖書展覽會(huì)的圖書采購(gòu)情況,那么我們既可以使用帶誤差棒的多數(shù)據(jù)并列柱狀圖,也可以使用帶誤差棒的堆積柱狀圖來(lái)呈現(xiàn)圖書展銷會(huì)上訂購(gòu)情況的變化和差異?,F(xiàn)在,我們介紹帶誤差棒的堆積柱狀圖的繪制方法。

代碼實(shí)現(xiàn)

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"]=["LiSu"]
mpl.rcParams["axes.unicode_minus"]=False
# some simple data
x = np.arange(5)
y1 = [1200,2400,1800,2200,1600]
y2 = [1050,2100,1300,1600,1340]
std_err1 = [150,100,180,130,80]
std_err2 = [120,110,170,150,120]
bar_width = 0.6
tick_label=["家庭","小說(shuō)","心理","科技","兒童"]
error_attri = dict(ecolor="black",elinewidth=2,capsize=0)
# create bar
plt.bar(x,y1,
bar_width,
color="#6495ED",
align="center",
yerr=std_err1,
label="地區(qū) 1",
error_kw=error_attri)
plt.bar(x,y2,
bar_width,
bottom=y1,
color="#FFA500",
align="center",
yerr=std_err2,
label="地區(qū) 2",
error_kw=error_attri)
# set x,y_axis label
plt.xlabel("圖書種類")
plt.ylabel("訂購(gòu)數(shù)量")
# set title
plt.title("不同地區(qū)大型圖書展銷會(huì)的圖書采購(gòu)情況")
# set yaxis grid
plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)
plt.xticks(x,tick_label)
plt.legend()
plt.show()

運(yùn)行結(jié)果如圖

python繪制統(tǒng)計(jì)圖,Python數(shù)據(jù)可視化,信息可視化,python,數(shù)據(jù)分析,matplotlib,Powered by 金山文檔

前面我們已經(jīng)講解過(guò)堆積柱狀圖的繪制原理了,現(xiàn)在只需要將誤差棒添加到堆積柱狀圖中就可以實(shí)現(xiàn)兩種統(tǒng)計(jì)圖形的融合,繪制出帶誤差棒的堆積柱狀圖。完成帶誤差棒的堆積柱狀圖的繪制任務(wù)的關(guān)鍵在于關(guān)鍵字參數(shù) yerr 的使用。因此,只需要向函數(shù) bar()傳遞關(guān)鍵字參數(shù) yerr 就可以在堆積柱狀圖的基礎(chǔ)上,實(shí)現(xiàn)帶誤差棒的堆積柱狀圖的繪制任務(wù)。

參考資料:《Python 數(shù)據(jù)可視化之 matplotlib 實(shí)踐》第三章文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-788463.html

到了這里,關(guān)于Python數(shù)據(jù)可視化(三)繪制統(tǒng)計(jì)圖形大全的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【100天精通python】Day39:GUI界面編程_PyQt 從入門到實(shí)戰(zhàn)(下)_圖形繪制和動(dòng)畫效果,數(shù)據(jù)可視化,刷新交互

    目錄 專欄導(dǎo)讀? 6 圖形繪制與動(dòng)畫效果 6.1 繪制基本圖形、文本和圖片

    2024年02月12日
    瀏覽(20)
  • 100天精通Python(可視化篇)——第92天:Pyecharts繪制炫酷柱狀圖、條形圖實(shí)戰(zhàn)大全

    ???? 本文已收錄于 《100天精通Python從入門到就業(yè)》:本專欄專門針對(duì)零

    2024年02月12日
    瀏覽(23)
  • [數(shù)據(jù)分析與可視化] Python繪制數(shù)據(jù)地圖2-GeoPandas地圖可視化

    本文主要介紹GeoPandas結(jié)合matplotlib實(shí)現(xiàn)地圖的基礎(chǔ)可視化。GeoPandas是一個(gè)Python開(kāi)源項(xiàng)目,旨在提供豐富而簡(jiǎn)單的地理空間數(shù)據(jù)處理接口。GeoPandas擴(kuò)展了Pandas的數(shù)據(jù)類型,并使用matplotlib進(jìn)行繪圖。GeoPandas官方倉(cāng)庫(kù)地址為:GeoPandas。GeoPandas的官方文檔地址為:GeoPandas-doc。關(guān)于Geo

    2023年04月09日
    瀏覽(31)
  • 數(shù)據(jù)可視化python,繪制餅圖,代碼和解析

    數(shù)據(jù)可視化python,繪制餅圖,代碼和解析

    使用matplotlib.pyplot.pie繪制 (1),該函數(shù)的定義如下: matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None) 參數(shù)說(shuō)明:

    2024年02月06日
    瀏覽(21)
  • 數(shù)據(jù)可視化——用python繪制簡(jiǎn)單的折線圖

    數(shù)據(jù)可視化——用python繪制簡(jiǎn)單的折線圖

    前面我們已經(jīng)學(xué)習(xí)了python的基礎(chǔ)語(yǔ)法和面向?qū)ο?,那么接下?lái)我們將學(xué)習(xí)python編程語(yǔ)言的過(guò)人之處——數(shù)據(jù)的可視化之折線圖。 說(shuō)到數(shù)據(jù)可視化,我們需要先知道什么是JSON。 json是一種輕量級(jí)的數(shù)據(jù)交互格式,可以按照json指定的格式去組織和封裝數(shù)據(jù) json本質(zhì)上是一個(gè)帶有特

    2024年02月17日
    瀏覽(19)
  • [數(shù)據(jù)分析與可視化] 基于Python繪制簡(jiǎn)單動(dòng)圖

    [數(shù)據(jù)分析與可視化] 基于Python繪制簡(jiǎn)單動(dòng)圖

    動(dòng)畫是一種高效的可視化工具,能夠提升用戶的吸引力和視覺(jué)體驗(yàn),有助于以富有意義的方式呈現(xiàn)數(shù)據(jù)可視化。本文的主要介紹在Python中兩種簡(jiǎn)單制作動(dòng)圖的方法。其中一種方法是使用matplotlib的Animations模塊繪制動(dòng)圖,另一種方法是基于Pillow生成GIF動(dòng)圖。 Matplotlib的Animations模

    2024年02月03日
    瀏覽(25)
  • 【Python入門系列】第十五篇:Python數(shù)據(jù)可視化和圖表繪制

    數(shù)據(jù)可視化是數(shù)據(jù)分析和數(shù)據(jù)科學(xué)中非常重要的一部分。通過(guò)可視化,我們可以更好地理解數(shù)據(jù)、發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)系、展示數(shù)據(jù)的趨勢(shì)和模式,并向他人傳達(dá)我們的發(fā)現(xiàn)。 Python是一種功能強(qiáng)大的編程語(yǔ)言,擁有許多用于數(shù)據(jù)可視化的庫(kù)和工具。其中,Matplotlib是最常用的繪

    2024年02月13日
    瀏覽(27)
  • 數(shù)據(jù)可視化|Python之Pyecharts將“爬蟲(chóng)數(shù)據(jù)”繪制餅狀圖

    前言 本文是該專欄的第40篇,后面會(huì)持續(xù)分享python數(shù)據(jù)分析的干貨知識(shí),記得關(guān)注。 在項(xiàng)目中,可能有些同學(xué)或多或少遇見(jiàn)這樣的需求。將爬蟲(chóng)采集下來(lái)的數(shù)據(jù),進(jìn)行圖像可視化處理,方便其他業(yè)務(wù)線進(jìn)行數(shù)據(jù)分析處理。 而本文,筆者將以某個(gè) 爬蟲(chóng)案例 的采集數(shù)據(jù)為例子,

    2024年01月18日
    瀏覽(35)
  • Python 數(shù)據(jù)可視化教程 - 如何使用 pyecharts 繪制多條折線圖表

    部分?jǐn)?shù)據(jù)來(lái)源: ChatGPT?? 引言 ????????本文主要介紹如何使用 Python 中的 pyecharts 庫(kù),繪制多條折線圖表。在本例中,我們將展示各國(guó)的 COVID-19 確診人數(shù)數(shù)據(jù)。 1、首先,我們需要導(dǎo)入必要的庫(kù): 其中, json ?庫(kù)用于解析 JSON 數(shù)據(jù), pyecharts ?庫(kù)用于繪圖, TitleOpts 、 Lege

    2024年02月09日
    瀏覽(31)
  • 【數(shù)據(jù)可視化】Python通過(guò)Pyecharts庫(kù)繪制geo類地圖

    【數(shù)據(jù)可視化】Python通過(guò)Pyecharts庫(kù)繪制geo類地圖

    我們知道,在數(shù)據(jù)可視化中的地圖可視化分為map類地圖和geo類地圖,而現(xiàn)在我將介紹geo類地圖,會(huì)對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著我來(lái)一起學(xué)習(xí)學(xué)習(xí)吧?。ㄓ捎谖沂且晃怀鯇W(xué)者,若有不對(duì)的還望大家多多指教,蟹蟹~) 中文官方文檔和

    2024年02月04日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包