




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python數(shù)據(jù)分析與可視化教案
第1頁(yè)
課題5.1繪圖設(shè)置與簡(jiǎn)單繪圖課型講練
授課班級(jí)大數(shù)據(jù)授課時(shí)數(shù)2
1.能夠創(chuàng)建繪圖窗口及其子圖。
2.能夠?qū)L圖窗口進(jìn)行各種屬性設(shè)置。
教學(xué)目標(biāo)
3.能夠設(shè)置圖形的reParams參數(shù)。
4.能夠利用plot進(jìn)行簡(jiǎn)單繪圖。
1.能夠?qū)L圖窗口進(jìn)行各種屬性設(shè)置。
教學(xué)重點(diǎn)
2.能夠利用plot進(jìn)行簡(jiǎn)單繪圖。
教學(xué)難點(diǎn)1.能夠設(shè)置圖形的reParams參數(shù)。
本次課是繪圖的第一次課,所以本次課是繪圖這一章的基礎(chǔ)內(nèi)容,學(xué)號(hào)
學(xué)情分析
本次課對(duì)于本章的學(xué)習(xí)至關(guān)重要。
在繪制各種圖形之前,一般需要設(shè)置繪圖的各種參數(shù),這是繪圖的基礎(chǔ)。每一幅
圖的繪制都涉及不少參數(shù),雖然這些參數(shù)大多都有默認(rèn)值,但是也有一些參數(shù)必須手
動(dòng)設(shè)置,才能更好輔助繪制圖形。
一、繪圖設(shè)置
1.導(dǎo)入繪圖庫(kù)
繪制圖形之前,一般需要導(dǎo)入matplotlib庫(kù)中的pyplot模塊,其一般方法為:
importmatplotlib.pyplotaspit
2.創(chuàng)建與顯示繪圖窗口
創(chuàng)建畫(huà)布的主要作用是構(gòu)建出一張空白的繪圖窗口(figure),其一般方法為:
plt.figure(figsize=(len,wid))
其中,len表示繪圖窗口的長(zhǎng)度,wid表示繪圖窗口的寬度。
創(chuàng)建的繪圖窗口只有顯示以后,才能看到,顯示繪圖窗口的一般方法為:
plt.show()
示例代碼如下:
importmatplotlib.pyplotaspit
plt.figure(figsize=(6,4))#創(chuàng)建一個(gè)6*4的空白繪圖窗口
plt.show()#顯示繪圖窗口
輸出結(jié)果如圖5-*所示。
\Figure1一□X
?W6中Q三Y目
圖5-*創(chuàng)建繪圖窗口示例結(jié)果
【結(jié)果分析】因?yàn)槭莿?chuàng)建的第一個(gè)繪圖窗口,所以默認(rèn)名稱為Figure1?示例
代碼中如果缺少pit.showO,則不會(huì)顯示該繪圖窗口。
3.創(chuàng)建子圖
在matplotlib中,整個(gè)圖像為一個(gè)Figure對(duì)象。在Figure對(duì)象中可以包含一個(gè)或
者多個(gè)Axes對(duì)象,每個(gè)Axes對(duì)象相當(dāng)于一個(gè)子圖了。在繪圖時(shí),可以選擇是否將整
個(gè)繪圖窗口劃分為多個(gè)子圖(Axes),方便在同一幅圖上繪制多個(gè)子圖。
利用subplot可以將當(dāng)前繪圖窗口(figure)劃分為按行列編號(hào)的多個(gè)矩形窗格,
每一個(gè)矩形窗格都對(duì)應(yīng)一個(gè)子圖。創(chuàng)建子圖的方法主要有兩種,一種是分步添加子圖
再分別填充子圖,另一種是一次創(chuàng)建多個(gè)子圖,再選取其中的子圖進(jìn)行填充。
(1)分步添加子圖
在matplotlib中,可以利用add_subplot逐一創(chuàng)建子圖,其一般方法為:
fig=plt.figure()#利用plt.figure。創(chuàng)建繪圖窗口并命名為fig
ax=fig.add_subplot(m,n,k)#添加編號(hào)為k的子圖
其中,m表示繪圖窗口分為m行,n表示繪圖窗口分為n歹U,k表示創(chuàng)建的子圖
編號(hào)。
示例代碼如下:
fig=plt.figure(figsize=(6,4))#利用pltfgure。創(chuàng)建繪圖窗口并命名為fig
ax1=fig.add_subplot(1,2,1)
ax2=fig.add_subplot(1,2,2)
plt.show()
輸出結(jié)果如圖5-*所示。
圖5-*創(chuàng)建繪圖窗口示例結(jié)果
(2)創(chuàng)建多個(gè)子圖
在matplotlib中,可以利用subplots一次創(chuàng)建多個(gè)子圖,其一般方法為:
fig,axes=plt.subplots(m,n)
ax=axes[i,j]
其中,m和n表示將繪圖窗口分割為m行n列矩形子窗口,使用時(shí)需要保證m
和n都要大于1。i和j分別表示在矩形子窗口中的行列位置,并且行與列編號(hào)都是從
0開(kāi)始編號(hào)。
示例代碼如下:
fig,axes=plt.subplots(2,3)#創(chuàng)建2行3列的繪圖窗口
axl=axes[O,l]
ax2=axes[l,2]
plt.show()
輸出結(jié)果如圖5-*所示。
AFigure1-□X
今G6+Q三廿區(qū)
0.00.51.00.00.51.00.00.51.0
圖5-*創(chuàng)建繪圖窗口示例結(jié)果
創(chuàng)建子圖時(shí),如需要同時(shí)編輯所有子圖,還可以利用循環(huán)語(yǔ)句進(jìn)行編輯,其一般
方法為:
fig,axes=plt.subplots(m,n)
ax=axes.ravel()
foriinrange(k):
ax[i]
4.設(shè)置繪圖窗口屬性
繪圖窗口是繪圖的主體部分,繪圖窗口屬性包括標(biāo)題,坐標(biāo)軸名稱、坐標(biāo)軸刻度
等,設(shè)置繪圖窗口屬性與繪制圖形是并列的,沒(méi)有先后順序。一般來(lái)說(shuō),可以先繪制
圖形,再設(shè)置繪圖窗口屬性。繪圖窗口屬性如表5-*所示。
表5-*繪圖窗口屬性表
屬性名稱說(shuō)明
plt.title表示添加標(biāo)題。
plt.legend表示顯示圖例。
plt.xlabel表示添加X(jué)軸名稱。
plt.ylabel表示添加y軸名稱。
plt.xlim表示指定X軸的范圍。
plt.ylim表示指定y軸的范圍。
plt.xticks表示指定X軸刻度的數(shù)目與取值。
plt.yticks表示指定y軸刻度的數(shù)目與取值。
plt.axvline表示添加X(jué)軸輔助線。
plt.axhline表示添加y軸輔助線。
plt.text表示添加文本標(biāo)注,常用來(lái)添加數(shù)據(jù)標(biāo)簽。
【說(shuō)明】
(1)在設(shè)置標(biāo)題、坐標(biāo)軸等含有字符信息時(shí),如果需要顯示中文字符,需要使
用reParams參數(shù)。
(2)在設(shè)置圖例時(shí),可以利用參數(shù)loc控制圖例的位置,如loc='upperright'
表示圖例在上方靠右位置,“l(fā)oc=lowercenter"表示圖例在下方居中位置。默認(rèn)
是上方靠右位置。
(3)利用pit.xlim和pit.ylim添加設(shè)置x軸與y軸范圍時(shí),需要將范圍寫(xiě)進(jìn)
列表中,如pIt.xIim([0,10])表示x軸的范圍為。到10。
(4)利用pit.xticks和pit.yticks添加x軸與y軸刻度時(shí),需要將一系列刻
度都寫(xiě)進(jìn)列表中,并且用逗號(hào)隔開(kāi)。如plt.xticks([0,2,4,6,8,10])表示在x軸顯
示刻度0,2,4,6,8,10,如果刻度較為規(guī)律,可以利用np.arange進(jìn)行創(chuàng)建。
(5)利用pit.axvIine(coIor,IinestyIe)與pit.axhIine(coIor,IinestyIe)
添加x軸和y軸輔助線時(shí),參數(shù)color表示輔助線的顏色,參數(shù)IinestyIe表示輔助
線的類(lèi)型。
(6)利用pit.text(x,y,string)添加文本標(biāo)注時(shí),參數(shù)x、y表示文本標(biāo)注的
位置,即文本標(biāo)注的橫坐標(biāo)與縱坐標(biāo),string表示添加的說(shuō)明文字。
(7)子圖的繪圖屬性與窗口的繪圖屬性略有不同,子圖的繪圖屬性只需要在窗
口的繪圖屬性之前加set_即可,如設(shè)置子圖的標(biāo)題可用set_ti11eo
示例代碼如下:
plt.figure(figsize=(6,4))#創(chuàng)建一個(gè)6*4的繪圖窗口
plt.title("title")#添加標(biāo)題“title”
plt.ylabel("ylabel")#添加y軸標(biāo)題“ylabel”
plt.xlim([0,10J)#將x軸范圍設(shè)為0到10
plt.xticks([0,2,4,6,8,10])#將x軸刻度設(shè)為0,2,4,6,8,10
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1—□X
#+Q三2E)
title
1.0---------------------------------------------------------------------------------------------------------
0.8-
0.6-
e
A
0.4■
0.2■
0.0--------------------1--------------------1--------------------1--------------------1--------------------
0246810
圖5-*創(chuàng)建繪圖窗口示例結(jié)果
5.設(shè)置圖形的reParams參數(shù)
pyplot可以使用reParams參數(shù)修改圖形的各種默認(rèn)屬性,包括窗體大小、每英寸
的點(diǎn)數(shù)、線條寬度、顏色、樣式、坐標(biāo)軸、網(wǎng)絡(luò)屬性、字體等。reParams參數(shù)可以在
Python的交互環(huán)境中動(dòng)態(tài)修改屬性,參數(shù)修改后,繪圖時(shí)默認(rèn)參數(shù)就會(huì)改變。設(shè)置圖
形的reParams參數(shù)如表5-*所示。
表5-*圖形的reParams參數(shù)表
參數(shù)名稱說(shuō)明
figure.figsize表示窗口的大小。
表示圖像顯示的中文字體,SimHei表示黑體,KaiTi表示楷體,
font.sans-serif
FanfSong表示仿宋。
lines.linewidth表示線寬。
表示線的類(lèi)型。可取、和“:”四種,默認(rèn)
lines.linestyle
為。
axes.unicode_minu表示是否顯示負(fù)數(shù),F(xiàn)alse表示顯示負(fù)數(shù)。
s
font.size表示字體的大小。
text.color表示文本的顏色。
【說(shuō)明】
(1)在圖形中輸入中文字符時(shí),一定要使用參數(shù)font,sans-serif,如
pit.reParams['font,sans-serif']二「SimHei']就表示輸入中文為黑體,如果不適
用該參數(shù),則在圖形中輸入中文時(shí),會(huì)顯示□□□□□等缺省符。
(2)lines,linestyle表示線型類(lèi)型,默認(rèn)為實(shí)線,如需修改為虛線,可用
p11.rcParams['Iines.IinestyIe']='-'o
(3)color參數(shù)在繪圖中使用較為廣泛,既可以表示文本顏色,又可以表示點(diǎn)
或線的顏色。顏色種類(lèi)有很多,如“k”表示黑色,“g”表示綠色,“r”表示紅色,
“b”表示藍(lán)色,“yellow”表示黃色,“orange”表示橙色,"grey”表示灰色,
“brown”表示棕色,“yellowgreen”表示黃綠色、“skyblue”表示天藍(lán)色,
“l(fā)ightyellow”表示淡黃色、“darkorange”表示深橙色等。顏色參數(shù)具體設(shè)置可
參考附錄1。
示例代碼如下:
plt.figure(figsize=(6,4))#創(chuàng)建一個(gè)6*4的繪圖窗口
pk.rcParamsrfont.sans-serif1]=fSimHei*]#設(shè)置中文字體
plt.rcParams('axes.unicode_minus']=False#顯示負(fù)數(shù)
plt.rcParams['font.size'J=20#顯示字體大小
plt.rcParams['text.color']=T#顯示字體顏色
pit.title。標(biāo)題")#將標(biāo)題設(shè)為“title”
plt.xticks(l-2,-l,0J,2J)#設(shè)置x軸刻度
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1-□X
備G"+Q三2IS
1.0,__________________________________
0.8
0.6
0.4
0.2
圖5-*設(shè)置圖形的rc參數(shù)示例結(jié)果
二、簡(jiǎn)單繪圖
在matplotlib中,可以使用通用的plot函數(shù)針對(duì)DataFrame繪制簡(jiǎn)單圖形,如折
線圖、柱形圖、條形圖等。
1.利用plot函數(shù)繪制Series圖形
利用plot函數(shù)繪制Series圖形的一般方法為:
Series.plot(kind,color)
其中,參數(shù)kind表示繪圖的類(lèi)型,kind=line表示折線圖,“bar”表示柱形圖,
“barh”表示條形圖。color表示繪圖對(duì)象的顏色。
2.利用plot函數(shù)繪制DataFrame圖形
利用plot函數(shù)繪制DataFrame圖形的一般方法為:
DataFrame.plot(kind,color)
其中,kind表示繪圖的類(lèi)型,kind=line表示繪制折線圖,kind=bar表示繪制柱形
圖,kind=barh表示繪制條形圖。color表示繪圖對(duì)象的顏色。
任務(wù)實(shí)訓(xùn)
任務(wù)1:創(chuàng)建Series數(shù)據(jù)data1,datal的數(shù)據(jù)為90、85、95、90,其對(duì)應(yīng)的index
為“001”、“002”、“003”、為04”,根據(jù)datal,完成:
(1)利用reParams參數(shù)設(shè)置繪圖窗口的大小為12*8,設(shè)置中文字體為黑體。
(2)在第1個(gè)子圖中,繪制柱形圖,柱狀的顏色為天藍(lán),添加圖表標(biāo)題“數(shù)學(xué)
成績(jī)”,利用np.arange生成y軸刻度0、10、20、30、…、100,在y軸90的位置,
添加輔助線,輔助線為紅色虛線。
(3)在第2個(gè)子圖中,繪制條形圖,柱狀的顏色為天藍(lán),添加圖表標(biāo)題“數(shù)學(xué)
成績(jī)”,利用np.arange生成x軸刻度0、10、20、30、…、100,在x軸90的位置,
添加輔助線,輔助線為紅色虛線。
具體代碼如下:
importpandasaspd
importnumpyasnp
datal=pd.Series([90,85,95,80],index=['00r,,002','003','004'])#創(chuàng)建Series
fig=plt.figure(figsize=(12,8))
plt.rcParamslfont.sans-serifJ=[^imHei1]
fig.add_subplot(1,2,1)
data1.plot(kind=,bar,,color=,skyblue')#繪制柱形圖
plLtitl式數(shù)學(xué)成績(jī))#添加標(biāo)題
plt.yticks(np.arange(0,101,10))#利用np生成序列作為y軸的刻度
plt.axhline(90,linestyle=,-,,color=,darkorange,)#添加y軸輔助線
fig.add_subplot(l,2,2)
datal.plot(kind=,barh,,color="skyblue')#繪制柱形圖
pll.titleC數(shù)學(xué)成績(jī))#添加標(biāo)題
plt.xticks(np.arange(0,101,10))#利用np生成序列作為x軸的刻度
plt.axvline(90,linestyle=,-,,color=,darkorange,)#添力口x軸輔助線
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1-□x
中Q三2El
數(shù)學(xué)成績(jī)
8§8
圖5-*任務(wù)1輸出結(jié)果
任務(wù)2:創(chuàng)建DataFrame數(shù)據(jù)data2,data2包含4行3歹!J,3列的列名分別為“數(shù)
學(xué)”、“語(yǔ)文”、“英語(yǔ)”,4行的index分別為“001”、“002”、“003”、“004”,
data2如表5-*所示。
表5-*任務(wù)2數(shù)據(jù)源
index數(shù)學(xué)語(yǔ)文英語(yǔ)
0019095100
002858595
003959090
004808585
根據(jù)data2,完成:
(1)利用reParams參數(shù)設(shè)置繪圖窗口的大小為12*8,設(shè)置中文字體為黑體。
(2)繪制條形圖,三個(gè)條形的顏色分別為“紅色”、“綠色”、“橙色”。
(3)添加標(biāo)題為“成績(jī)統(tǒng)計(jì)”,圖例位于上部靠右位置。
具體代碼如下:
diet=/數(shù)學(xué)成績(jī).90,85,95,80];語(yǔ)文成績(jī),:[95,85,90,85/英語(yǔ)成績(jī)
’:口00,95,90,85]}
data2=pd.DataFrame(dict,index=[,001\,002\'003\,004,J)
plt.rcParams['figure,figsize1]=(12,8)
plt.rcParamsfTont.sans-serif]=「SimHei']
data2.plot(kind=,barh,,color=l'r,,,g,,'orange1])
plt.title("考試成績(jī)”)
plt.legend(loc=*upperright1)
plt.show()
輸出結(jié)果如圖5-*所示。
XFigure1
科G)*Q三匕a
考試成紈
004
aa
002
(01
圖5-*任務(wù)1輸出結(jié)果
鞏固訓(xùn)練
創(chuàng)建Series,數(shù)據(jù)為641、578、612、561,739,其對(duì)應(yīng)的index為“周一”、“周
二”、“周三”、“周四”、“周五”,完成:
(1)利用reParams參數(shù)設(shè)置繪圖窗口的大小為8*8,設(shè)置中文字體為黑體。
(2)繪制折線圖,柱狀的顏色為紅色。
(3)添加圖表標(biāo)題“周一到周五平均營(yíng)業(yè)額”。
課題5.2繪制柱形圖課型講練
授課班級(jí)大數(shù)據(jù)授課時(shí)數(shù)2
1.能夠根據(jù)數(shù)據(jù)繪制簡(jiǎn)單柱形圖。
教學(xué)目標(biāo)2.能夠根據(jù)數(shù)據(jù)繪制多重柱形圖。
3.理解數(shù)據(jù)標(biāo)簽的添加方法。
1.能夠根據(jù)數(shù)據(jù)繪制簡(jiǎn)單柱形圖。
教學(xué)重點(diǎn)
2.能夠根據(jù)數(shù)據(jù)繪制多重柱形圖。
教學(xué)難點(diǎn)1.理解數(shù)據(jù)標(biāo)簽的添加方法。
本次課是繪圖這一章學(xué)的第一種繪制圖形,學(xué)好本次課有助于后面一些
學(xué)情分析
圖形的學(xué)習(xí),比如條形圖與柱形圖就有很多類(lèi)似的地方,只是圖形方向不同。
各種統(tǒng)計(jì)圖表中,柱形圖是常用圖形之一,柱形圖是用柱形來(lái)顯示數(shù)據(jù),并且柱
形的長(zhǎng)度與數(shù)據(jù)值成比例。
一、繪制柱形圖
柱形圖可以用于顯示一段時(shí)間內(nèi)的數(shù)據(jù)變化或顯示各項(xiàng)之間的比較情況,柱狀圖
一般用于描述分類(lèi)型數(shù)據(jù),每根柱子寬度固定,柱子之間會(huì)有間距。
在柱形圖中,一般將分類(lèi)型字段設(shè)為橫坐標(biāo),而將統(tǒng)計(jì)值設(shè)為縱坐標(biāo)。比如在比
較不同班級(jí)的數(shù)學(xué)平均分時(shí),就可以繪制柱形圖,其中班級(jí)就是分類(lèi)字段可作為橫坐
標(biāo),數(shù)學(xué)成績(jī)的平均值就是統(tǒng)計(jì)值可作為縱坐標(biāo)。
柱形圖根據(jù)每個(gè)X刻度上面對(duì)應(yīng)的柱形的數(shù)量,可以分為簡(jiǎn)單柱形圖和多重柱形
圖。如果每個(gè)X刻度上面只有一個(gè)柱形就是簡(jiǎn)單柱形圖,就如之前不同班級(jí)的數(shù)學(xué)平
均分。如果每個(gè)X刻度上面有多個(gè)柱形就是多重柱形圖,如不同班級(jí)的數(shù)學(xué)、語(yǔ)文、
英語(yǔ)平均分,一個(gè)班級(jí)就是一個(gè)X刻度,而這個(gè)X刻度上對(duì)應(yīng)三個(gè)柱形,分別代表這
個(gè)班級(jí)的數(shù)學(xué)、語(yǔ)文、英語(yǔ)平均分。
在pyplot模塊中,plot(kind=bar)可以針對(duì)Series或DataFrame繪制柱形圖,但是
其參數(shù)較少,只能用于簡(jiǎn)單繪圖。如果要繪制更為復(fù)雜的柱形圖,可以使用繪圖pyplot
模塊提供的柱形圖繪制函數(shù)bar,其一般用法為:
plt.bar(x,height,width,color,edgecolor,label)
其中,各參數(shù)的作用如下:
x表示x軸對(duì)應(yīng)數(shù)據(jù)的列表。
height表示柱子的高度,即表示y軸對(duì)應(yīng)數(shù)據(jù)的列表。
width表示柱子的寬度。
color表示柱子的顏色。
edgecolor表示柱子邊框的顏色。
label表示圖例的內(nèi)容,用于解釋每個(gè)柱形的含義,這個(gè)參數(shù)在繪制多重柱形圖
時(shí)作用較為明顯,因?yàn)榭梢杂貌煌念伾珔^(qū)分不同的柱形。
1.繪制簡(jiǎn)單柱形圖
繪制簡(jiǎn)單柱形圖時(shí).,可以直接使用bar函數(shù)進(jìn)行繪制.
示例代碼如下:
importpandasaspd
importmatplotlib.pyplotaspit
,,,,,,,
dict={a':[A';B',C'],b':[95,85,90],'c':[60,65,70],'d:[100,80,90](e:[65,70,75]}
data=pd.DataFrame(dict)
print(data)
plt.rcParams['font.sans-serif']:=['SimHei']
x=datafa']
height=data['b']
width=0.4
plt.bar(x,height,width,color='darkorange,,edgecolor=,b')
plt.title("b列統(tǒng)計(jì)")
plt.show()
輸出結(jié)果如圖5-*所示。
*Figure1—□X
倩66中Q三〃目
圖5-*繪簡(jiǎn)單柱形圖示例結(jié)果2
【結(jié)果分析】在柱形圖中,每個(gè)柱狀的刻度恰好是柱形的中間位置,如5-*中的
x軸刻度A、B、C?而在matplotlib中,當(dāng)繪制完柱形圖之后,由于沒(méi)有數(shù)據(jù)標(biāo)簽,
所以顯示效果往往不是很好。此時(shí),可以使用pit.text的方法加以添加,此部分內(nèi)
容會(huì)在第三部分詳細(xì)闡述。
2.繪制多重柱形圖
繪制多重柱形圖,需要在每個(gè)x刻度上面畫(huà)出多個(gè)柱形,這一過(guò)程分可以多次完
成。第1次先確定第1個(gè)柱形的數(shù)字刻度位置,然后在此刻度位置基礎(chǔ)上再增加一個(gè)
柱形寬度后,就是第2個(gè)柱形的數(shù)字刻度位置,以此類(lèi)推,如圖5-*所示。
圖5-*多重柱形圖刻度位置設(shè)置
如果最后需要顯示文本刻度,可以利用plt.xticks將數(shù)字刻度轉(zhuǎn)換為文本刻度。
示例代碼如下:
importnumpyasnp
plt.rcParamsl'figure.figsize'J=(10,8)
plt.rcParams['font.sans-serif]=['SimHei']
x=np.arange(1,4)#設(shè)置x軸刻度為1,2,3
height1=data['c']
height2=data['d']
heights=data['e']
width=0.2#設(shè)置柱形的寬度為0.2
plt.rcParams[,font.sans-serif]=[,SimHei']
pll.bar(x,heightl,width,color='darkorange',edgecolo^'grey'Jabe^'c歹小)
#根據(jù)c列繪制第1組系列柱形
plt.bar(x+width,height?,width,coloi-'yellowgreen\edgecolo^'greyjabe^'d列)
#根據(jù)d列繪制第2組系列柱形
plt.bar(x+2*width,height3,width,color='skyblue',edgecolor='grey',label='e列')
#根據(jù)e列繪制第3組系列柱形
plt.legend(loc=,upperright')#在右上方顯示圖例
plt.title("c歹J1、d列、e列統(tǒng)計(jì)”)
plt.show()
輸出結(jié)果如圖5-*所示。
XFigure1-OX
#4+Q三2E)
圖5-*創(chuàng)建多重柱形圖示例結(jié)果
根據(jù)數(shù)字刻度繪制多重柱形圖后,還需要將數(shù)字刻度[123]轉(zhuǎn)換為a列的文本刻
度此時(shí)就需要確定新刻度的位置。新刻度「A"BrC']應(yīng)放在第2組系列柱
形的中間位置,即刻度[123]右側(cè)一個(gè)柱形寬度位置。
在繪制多重柱形圖的適當(dāng)位置增加一行代碼plt.xticks(x+width,data[1a']),就可以
將數(shù)字刻度轉(zhuǎn)換為文本刻度。
示例代碼如下:
plt.xticks(x+width,dataf'a'])#將x軸刻度重新設(shè)為a列數(shù)據(jù)
plt.legend(loc='upperright')
plt.tiUe("c列、d列、e列統(tǒng)計(jì)")
plt.show()
輸出結(jié)果如圖5-*所示。
KFigure1-□X
育G今+Q三2E)
圖5-*x軸刻度轉(zhuǎn)化示例結(jié)果
二、添加數(shù)據(jù)標(biāo)簽
比如在柱形圖中,默認(rèn)的圖形只有光禿禿的柱子,這樣就使得圖形好像缺少一些
元素,此時(shí)就可以根據(jù)需要添加數(shù)據(jù)標(biāo)簽。
1.添加簡(jiǎn)單柱形圖的數(shù)據(jù)標(biāo)簽
添加柱形圖的數(shù)據(jù)標(biāo)簽時(shí),首先確定柱子對(duì)應(yīng)的數(shù)據(jù)標(biāo)簽,然后在柱子上方添加
該柱子的數(shù)據(jù)標(biāo)簽,如圖5-*所示。
以3個(gè)柱狀的柱形圖為例,數(shù)據(jù)標(biāo)簽的位置可以比每個(gè)柱子的實(shí)際高度略高,設(shè)
置柱形圖數(shù)據(jù)標(biāo)簽可以使用text函數(shù),該函數(shù)有3個(gè)參數(shù),分別是數(shù)據(jù)標(biāo)簽橫坐標(biāo)、
數(shù)據(jù)標(biāo)簽縱坐標(biāo)、數(shù)據(jù)標(biāo)簽顯示值。添加簡(jiǎn)單柱形圖數(shù)據(jù)標(biāo)簽的一般方法為:
x=[xl,x2,x3]#設(shè)置數(shù)據(jù)標(biāo)簽的橫坐標(biāo)
height=[height1,height2,height3]#設(shè)置數(shù)據(jù)標(biāo)簽的縱坐標(biāo)
fori,jinzip(x,height):
plt.text(i,j+Ah,j)
其中,在plt.text函數(shù)中,第1個(gè)參數(shù)i表示數(shù)據(jù)標(biāo)簽的橫坐標(biāo),使用時(shí)也可以
根據(jù)實(shí)際情況右移一點(diǎn)位置Aw,以保證添加的數(shù)標(biāo)簽處于條形圖右側(cè)的Aw位置,如
i+0.5表示在每個(gè)條形的右側(cè)0.5的位置設(shè)置數(shù)據(jù)標(biāo)簽。第2個(gè)參數(shù)j表示數(shù)據(jù)標(biāo)簽的
縱坐標(biāo),使用時(shí)也可以根據(jù)實(shí)際情況下移一點(diǎn)位置,以保證添加的數(shù)標(biāo)簽處于垂直居
中位置。第3個(gè)參數(shù)i表示顯示出來(lái)的數(shù)據(jù)標(biāo)簽的值,即每一個(gè)條形的實(shí)際長(zhǎng)度。使
用pit.text時(shí),前兩個(gè)參數(shù)表示添加數(shù)據(jù)標(biāo)簽位置,需要用數(shù)值型數(shù)據(jù)。
示例代碼如下:
importnumpyasnp
x=np.arange(l,4)
dict={'":rA;B,C]b:[95,85,90],'c':[60,65,70],d:[100,80,90],2:[65,70,75]}
data=pd.DataFrame(dict)
print(data)
輸出結(jié)果如圖5-*所示。
Run:5-2
>C:\Users\liliang\Anaconda3\python.exeC:/Users/liliang/PycharmProjects/sjfx/5-2.py
abcde
0A956010065
■>rp1B85658070
“二zl2C90709075
7Processfinishedwithexitcode°
圖5-*添加簡(jiǎn)單柱形圖的數(shù)據(jù)標(biāo)簽示例結(jié)果1
示例代碼如下:
height=data['b']
width=0.4
plt.bar(x,height,width)
fori,jinzip(x,height):
plt.text(i-0.08,j+2,j,coloi-'r',size=15)
#數(shù)據(jù)標(biāo)簽左移0.08,可以使得數(shù)據(jù)處于水平居中位置
#數(shù)據(jù)標(biāo)簽上移2,可以使得數(shù)據(jù)位于柱形上方的2個(gè)單位高度
#數(shù)據(jù)標(biāo)簽的文本顏色設(shè)為紅色
#數(shù)據(jù)標(biāo)簽的文本大小顏色設(shè)為15
plt.xticks(x,data['a'])
plt.show()
圖5-*添加簡(jiǎn)單柱形圖數(shù)據(jù)標(biāo)簽示例結(jié)果2
2.添加復(fù)雜柱形圖的數(shù)據(jù)標(biāo)簽
添加復(fù)雜柱形圖的數(shù)據(jù)標(biāo)簽與添加簡(jiǎn)單柱形圖的數(shù)據(jù)標(biāo)簽類(lèi)似,只是添加的時(shí)
候,重點(diǎn)注意橫坐標(biāo)和縱坐標(biāo)的變化即可。
示例代碼如下:
plt.rcParamst^gure.figsize'J=(12,8)
x=np.arange(l,4)
print(type(x))
height!=datafc']
height?=data「d']
height3=datafe1]
width=0.2#設(shè)置柱形的寬度為0.2
plt.bar(x,height1,width,color='darkorange,,edgecolor='grey')
plt.bar(x+width,height2,width,color='yellowgreen',edgecolor='grey')
plt.bar(x+2*width,height3,width,color='skyblue',edgecolor=,grey,)
fori,jinzip(x,heightl):
plt.text(i-0.05,j4-2,j,color=,r\size=15)
fori,jinzip(x+width,height2):
plt.text(i-0.05,j+2,j,color=,r',size=15)
fori,jinzip(x+2*width,height3):
plt.text(i-0.05,j+2,j,color='r,,size=15)
plt.xticks(x+width,data[,a'])
plt.show()
輸出結(jié)果如所看_________________________________________
KFigure1-OX
?<-->+Q三NB
圖5-*添加多重柱形圖數(shù)據(jù)標(biāo)簽示例結(jié)果
鞏固訓(xùn)練
創(chuàng)建DataFrame數(shù)據(jù)data,data包含4行3列,記錄了蘇州、青島、廈門(mén)3個(gè)城
市的GDP(單位:億元),如表5-*所示。
表5-*練習(xí)數(shù)據(jù)源
index蘇州重慶杭州
2017年170001953012556
2018年186972036313500
2019年193002360515373
完成:
(1)繪制多重柱形圖,年份為橫坐標(biāo),各個(gè)城市的GDP為縱坐標(biāo)。
(2)在多重柱形圖中,添加各個(gè)城市GDP的數(shù)據(jù)標(biāo)簽。
課題5.3繪制條形圖課型講練
授課班級(jí)大數(shù)據(jù)授課時(shí)數(shù)2
1.能夠根據(jù)數(shù)據(jù)繪制條形圖。
教學(xué)目標(biāo)
2.能夠根據(jù)子圖繪制多個(gè)條形圖。
教學(xué)重點(diǎn)L能夠根據(jù)數(shù)據(jù)繪制條形圖。
教學(xué)難點(diǎn)1.能夠根據(jù)子圖繪制多個(gè)條形圖。
條形圖和柱形圖的畫(huà)法類(lèi)似,只是方向不同,之前學(xué)習(xí)的柱形圖的學(xué)習(xí)
學(xué)情分析
有助于本次課的學(xué)習(xí)。
各種統(tǒng)計(jì)圖表中,條形圖與柱形圖類(lèi)似,兩者都用于比較多個(gè)數(shù)據(jù),只是兩者區(qū)
別在于圖形的方向,柱形圖面向垂直方向,條形圖面向水平方向。條形圖又稱橫向柱
形圖,當(dāng)坐標(biāo)軸刻度取值較多且名稱又較長(zhǎng)時(shí),可以考慮使用條形圖,因?yàn)闂l形圖能
夠橫向布局,方便展示較長(zhǎng)的坐標(biāo)軸刻度值。
一、直接繪制條形圖
1.繪制條形圖
pyplot模塊提供了條形圖繪制函數(shù)barh,其一般用法為:
plt.barh(y,height,width,color,edgecolor,label)
其中,各參數(shù)的作用如下:
y表示y軸對(duì)應(yīng)數(shù)據(jù)的列表。
width表示條形的長(zhǎng)度。
height表示條形的寬度。
color表示條形的顏色。
edgecolor表示條形邊框的顏色。
label表示圖例的內(nèi)容,用于解釋每個(gè)條形的含義,這個(gè)參數(shù)在繪制多重條形圖
時(shí)作用較為明顯,因?yàn)榭梢杂貌煌念伾珔^(qū)分不同的條形。
示例代碼如下:
importpandasaspd
importmatplotlib.pyplotaspit
diet={'a':『A',B,'C'],'b':[95,85,90],'c':[60,65,70],d:[100,80,90],'e':[65,70,75]}
data=pd.DataFrame(dict)
print(data)
plt.rcParams['font.sans-serif]=[,SimHei']
y=data['a*]
width=dataf'b1]
height=0.4
plt.barh(y,width,height,color=,darkorange',edgecolor=,b,)
plt.title("b列統(tǒng)計(jì)")
plt.show()
輸出結(jié)果1如圖5-*所示。
Run:。5-3
CC:\Users\liliang\Anaconda3\python.exeC:/Users/liliang/PycharmProjects/sjfx/5-3.py
abcde
0A956010065
?51B85658070
U2C90709075
X二
.
?
圖5-*簡(jiǎn)單柱形圖示例結(jié)果1
輸出結(jié)果2如圖5-*所示。
\Figure1□X
伊66+Q=2目
9]統(tǒng)計(jì)
020O6080
圖5-*簡(jiǎn)單條形圖示例結(jié)果2
2.添加數(shù)據(jù)標(biāo)簽
添加條形圖的數(shù)據(jù)標(biāo)簽時(shí),首先確定條形對(duì)應(yīng)的數(shù)據(jù)標(biāo)簽,然后在條形右側(cè)添加
該條形的數(shù)據(jù)標(biāo)簽,如圖5-*所示。
圖5-*數(shù)據(jù)標(biāo)簽添加位置
以3個(gè)條形的條形圖為例,數(shù)據(jù)標(biāo)簽的位置比每個(gè)條形長(zhǎng)度略靠右,設(shè)置條形圖
數(shù)據(jù)標(biāo)簽的一般方法為:
width=[width1,wedth2,width31#設(shè)置每個(gè)條形的橫坐標(biāo)
y=[yl,y2,y3]#設(shè)置每個(gè)條形的縱坐標(biāo)
fori,jinzip(width,y):
plt.text(i+Aw,j,i)
其中,在plt.text函數(shù)中,第1個(gè)參數(shù)i表示數(shù)據(jù)標(biāo)簽的橫坐標(biāo),即條形的長(zhǎng)度
width,使用時(shí)也可以根據(jù)實(shí)際情況右移一點(diǎn)位置Aw,以保證添加的數(shù)標(biāo)簽處于條形
圖右側(cè)的Aw位置,如i+0.5表示在每個(gè)條形長(zhǎng)度的右側(cè)0.5的位置設(shè)置數(shù)據(jù)標(biāo)簽。第
2個(gè)參數(shù)j表示數(shù)據(jù)標(biāo)簽的縱坐標(biāo),使用時(shí)也可以根據(jù)實(shí)際情況下移一點(diǎn)位置,以保
證添加的數(shù)標(biāo)簽處于垂直居中位置。第3個(gè)參數(shù)i表示顯示出來(lái)的數(shù)據(jù)標(biāo)簽的值,即
每一個(gè)條形的實(shí)際長(zhǎng)度。使用plt.text時(shí),前兩個(gè)參數(shù)表示添加數(shù)據(jù)標(biāo)簽位置,需要
用數(shù)值型數(shù)據(jù)。
示例代碼如下:
importnumpyasnp
plt.rcParams['figure.figsize']=(10,6)
plt.rcParams[,font.sans-serif]=[,SimHei']
y=np.arange(l,4)#設(shè)置y軸刻度為1,2,3
width=dataf'b1]
height=0.4
plt.barh(y,width,height,color=,darkorange\edgecolor=,b')
plt.title(nb列統(tǒng)計(jì)”)
fori,jinzip(width,y):
plt.text(i+2,j-0.05,i,color='r,,size=15)
#數(shù)據(jù)標(biāo)簽右移2,可以使得數(shù)據(jù)位于條形右側(cè)的2個(gè)單位長(zhǎng)度
#數(shù)據(jù)標(biāo)簽下移0.05,可以使得數(shù)據(jù)處于垂直居中位置
#數(shù)據(jù)標(biāo)簽的文本顏色設(shè)為紅色y
#數(shù)據(jù)標(biāo)簽的文本大小顏色設(shè)為15
plt.yticks(y,data['a'])#將y軸刻度重新設(shè)為a列數(shù)據(jù)
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1-□X
#+Q三廿EI
圖5-*添加條形圖數(shù)據(jù)標(biāo)簽示例結(jié)果
二、利用數(shù)據(jù)分組繪制條形圖
繪制統(tǒng)計(jì)圖時(shí),除了可以直接繪制以外,也常常需要先對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì)后,
再根據(jù)統(tǒng)計(jì)繪制圖。這種方法幾乎在所有統(tǒng)計(jì)圖中均可以使用,下面以條形為例加以
說(shuō)明。
示例代碼如下:
importnumpyasnp
diet={'a':[l,2,3,3,2,1,1,2,3];b':np.arange(60,101,5);c,:np.arange(l00,59,-5))
data=pd.DataFrame(dict)
data['a']=data['a'].replace({l:'l班',2:2班',3:3班'})#將a列中的1、2、3分
別替換為1班、2班、3班
print(data)
輸出結(jié)果1如圖5-*所示。
Run:5-3
>C:\Users\liliang\Anaconda3\python.exeC:/Users八iliang/Pychar?Projects/sjfx/5-3.py
abC
01班60100
■方12班6595
23班7690
*.33班7585
.42妞8080
151W8575
69070
72班9565
83班10060
Processfinishedwithexitcode0
圖5?*利用數(shù)據(jù)分組繪制條形圖示例結(jié)果1
示例代碼如下:
group=data.groupby(by=,a,)[,b,].mean()#按a列分組再計(jì)算b列的平均值
group=round(group,0)#統(tǒng)計(jì)結(jié)果按照四舍五入顯示整數(shù)
print("按a列分組再計(jì)算b列的平均值的結(jié)果為:\n”,group)
輸出結(jié)果2如圖5-*所示。
Run:S-3
AC:\Users\liliang\Anaconda3\python.exeC:/Users/liliang/PychannProjects/sjfx/5-3.py
按a外分姐再計(jì)算b列的平均值的結(jié)果為:
a
二m1班78.0
2班80.0
*二退82°
Name:b,dtype:float64
Processfinishedwithexitcode0
圖5-*利用數(shù)據(jù)分組繪制條形圖示例結(jié)果2
示例代碼如下:
plt.rcParams['figure,figsize']=(10,6)
plt.rcParams[,font.sans-serif]=['SimHei,]
y=group.index
width=group
height=0.4
plt.barh(y,width,height,color=,darkorange',edgecolor=,b')
plt.title("按a列分組再計(jì)算b列的平均值")
plt.show()
輸出結(jié)果3如圖5-*所示。
\Figure1-OX
??6+Q三2El
圖5-*利用數(shù)據(jù)分組繪制條形圖示例結(jié)果3
任務(wù)實(shí)訓(xùn)
任務(wù)1:利用read_csv導(dǎo)入鶯尾花數(shù)據(jù)集iris.csv數(shù)據(jù)(iris.csv存放在c:\data路
徑中),并命名為datal,完成:
⑴按"Iris-type"列分組,再計(jì)算“Sep_wid”列的平均值,結(jié)果保留2位小
數(shù),查看分組統(tǒng)計(jì)結(jié)果。
(2)根據(jù)分組統(tǒng)計(jì)結(jié)果繪制條形圖,顯示標(biāo)題“不同類(lèi)別鶯尾花的平均花萼寬
度條形圖”,并將標(biāo)題文字顏色設(shè)為藍(lán)色,大小設(shè)為20,添加數(shù)據(jù)標(biāo)簽,數(shù)據(jù)標(biāo)簽
文字顏色設(shè)為紅色,大小設(shè)為15,添加x軸輔助線,輔助線的值為"Sep_wid”列的
總體平均值,輔助線的線型為點(diǎn)虛線,輔助線的顏色為灰色。
任務(wù)1(1)具體代碼如下:
datal=pd.read_csv("c:\data\iris.csv")
datal_group=datal.groupby('Iris_type,)['Sep_wid'].mean()
datal_group=round(data1_group,2)
print("datal的分組結(jié)果為:\n",datal_group)
輸出結(jié)果如圖5-*所示。
Run:吸5-3
CC:\Users\liliang\Anaconda3\python.exeC:/Users/liliang/PycharmProjects/sjfx/5-3.py
;datal的分蛆結(jié)果為:
Iris_type
*RIris-setosa3.42
Iris-versicolor2.77
“各Iris-virginica2.97
Name:Sep_wid,dtype:float64
圖5-*任務(wù)1(1)輸出結(jié)果
任務(wù)1(2)具體代碼如下:
plt.rcParamst^gure.figsize*]=(12,6)
plt.rcParams[,font.sans-serif]=['SimHei*]
y=np.arange(1,4)
width=datal_group
height=0.4
plt.barh(y,width,height,color='darkorange',edgecolor=,b')
plLtitle("不同類(lèi)別鶯尾花的平均花萼寬度條形圖,color二b,size=20)
fori,jinzip(width,y):
plt.text(i+0.1,j,i,color='r',size=15)
plt.yticks(y,datal_group.index)
plt.axvline(datal[,Sep_wid'l.mean(),linestyle=,:,,color=,grey,)
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1—OX
育G6+Q三20
圖5-*任務(wù)1(2)輸出結(jié)果
任務(wù)2:根據(jù)任務(wù)1的導(dǎo)入數(shù)據(jù),重新命名為data2,完成:
⑴按“Iris_type”列分組,再計(jì)算PetJen"列和"Pet_wid”列的平均值,
結(jié)果保留2位小數(shù)。
(2)根據(jù)(1)的分組計(jì)算結(jié)果,在2行1列的兩個(gè)子圖中,分別繪制條形圖,
并比較其結(jié)果。
任務(wù)2(1)具體代碼如下:
data2=datal
print(data2.columns)
data2_group1=datal.groupby(,Iris_type,)[,Pet_len,].mean()
data2_groupl=round(data2_group1,2)
data2_group2=datal.groupby(,Iris_type,)L,Pet_wid,].mean()
data2_group2=round(data2_group2,2)
任務(wù)2(2)具體代碼如下:
fig=plt.figure(figsize=(12,6))
y1=data2_group1.index
width1=data2_group1
y2=data2_group2.index
width2=data2_group2
height=0.4
axl=fig.add_subplot(2,1,1)
ax1.barh(y1,width1,height,color=,darkorange,,edgecolor=,b,)
axl.set_title(uPet_len,',color='r',size=15)
ax2=fig.add_subplot(2,1,2)
ax2.barh(y2,width2,height,color=,darkorange,,edgecolor=,b,)
ax2.set_title("Pet_widn,color='r',size=15)
plt.show()
輸出結(jié)果如圖5-*所示。
\Figure1—OX
備G6+Q三2區(qū)I
圖5-*任務(wù)2輸出結(jié)果
【結(jié)果分析】從兩個(gè)子圖看,不管是“Pet」en",還是“Pet_wid",不同類(lèi)別
的鶯尾花,都是平均值都是Iris-virginica>lris-versicolor>Iris-setosa?
鞏固訓(xùn)練
創(chuàng)建DataFrame數(shù)據(jù)data,data包含4行3列,記錄了蘇州、青島、廈門(mén)3個(gè)城
市的GDP(單位:億元),如表5-*所示。在3行1列的三個(gè)子圖中,分別繪制不同
年份三個(gè)地區(qū)DGP條形圖,并比較其結(jié)果。
表5-*練習(xí)數(shù)據(jù)源
index蘇州重慶杭州
2017年170001953012556
2018年186972036313500
2019年19300236
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TR 23652:2024 EN Nanotechnologies - Considerations for radioisotope labelling methods of nanomaterials for performance evaluation
- 【正版授權(quán)】 ISO 4064-1:2024 EN Water meters for cold potable water and hot water - Part 1: Metrological and technical requirements
- 包露與配偶2025年度離婚經(jīng)濟(jì)補(bǔ)償及贍養(yǎng)費(fèi)協(xié)議
- 2025年度太陽(yáng)能光伏發(fā)電系統(tǒng)設(shè)計(jì)與施工總承包協(xié)議
- 2025年度環(huán)境安全監(jiān)測(cè)與治理服務(wù)合同協(xié)議
- 班級(jí)體育活動(dòng)的組織與安排計(jì)劃
- 庫(kù)存分析對(duì)倉(cāng)庫(kù)決策的支持計(jì)劃
- 急診呼吸機(jī)使用規(guī)范與管理計(jì)劃
- 提高團(tuán)隊(duì)創(chuàng)新力的工作總結(jié)計(jì)劃
- 2025年建筑鋁擠壓材項(xiàng)目建議書(shū)
- 信息科技課的跨學(xué)科主題學(xué)習(xí)PP義務(wù)教育課程方案和課程標(biāo)準(zhǔn)國(guó)家級(jí)示范培訓(xùn)課件
- 人教版PEP五年級(jí)英語(yǔ)下冊(cè)單詞表與單詞字帖 手寫(xiě)體可打印
- 第七節(jié)碎石路基施工方案
- 三年級(jí)數(shù)學(xué)興趣班綱要及教案
- 記者行業(yè)現(xiàn)狀分析及發(fā)展趨勢(shì)
- 如果歷史是一群喵
- 抖音房產(chǎn)直播敏感詞匯表
- 2024屆山東省青島市市北區(qū)八年級(jí)物理第二學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 2024年漯河食品職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 廣東省深圳市2023年中考英語(yǔ)試題(含答案與解析)
- 《看看我們的地球》
評(píng)論
0/150
提交評(píng)論