版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python程序設(shè)計(jì)基礎(chǔ)第9章Matplotlib繪圖庫教師:XXX第9章Matplotlib繪圖庫9.1Matplotlib簡(jiǎn)介9.2幾種常見的圖形9.3多子圖繪制9.4設(shè)置圖形裝飾項(xiàng)9.5使用Pandas繪圖第9章Matplotlib繪圖庫概述:數(shù)據(jù)可視化是指以圖形的方式展示數(shù)據(jù)。人們?cè)谄髽I(yè)管理和科學(xué)研究中積累了大量的數(shù)據(jù),這些數(shù)據(jù)在規(guī)模和維度上日益增長(zhǎng)。為了揭示數(shù)據(jù)背后的深刻含義,我們需要對(duì)海量數(shù)據(jù)進(jìn)行抽取、加工、提煉和展示。本章介紹的Matplotlib是Python平臺(tái)下的繪圖庫,它為數(shù)據(jù)可視化提供了理想的解決方案。安裝
pipinstallmatplotlib#anaconda中無需安裝引入matplotlib的慣例#導(dǎo)入pyplot模塊并命名為pltimportmatplotlib.pyplotasplt9.1Matplotlib簡(jiǎn)介Matplotlib是Python生態(tài)圈中應(yīng)用最廣泛的繪圖庫,支持二維繪圖和部分三維繪圖。其底層依賴于NumPy,所以必須安裝NumPy才能使用。官方示例網(wǎng)站/stable/gallery/index.html圖形輸出分為嵌入模式和獨(dú)立窗口模式兩種。嵌入模式在IPython的交互窗口中顯示圖形,圖形顯示后不能再修改。獨(dú)立窗口模式在彈出的一個(gè)窗口中顯示圖形,圖形可以放大、縮小和修改。%matplotlibinline#設(shè)置嵌入模式,輸出類似左圖%matplotlibqt#設(shè)置獨(dú)立窗口模式,輸出類似右圖9.1Matplotlib簡(jiǎn)介9.1.1繪圖示例(
y=x2
曲線)importnumpyasnpimportmatplotlib.pyplotasplt #導(dǎo)入pltx=np.linspace(-2,2,50) #在區(qū)間[-2,2]內(nèi)等間距產(chǎn)生50個(gè)點(diǎn)y=x**2 #計(jì)算平方值plt.plot(x,y,color='blue',ls='--',label='y=x^2')#繪曲線并設(shè)定藍(lán)色、破折線、圖例plt.xlabel('x',fontsize=14) #x軸標(biāo)記字符xplt.ylabel('y',fontsize=14) #y軸標(biāo)記字符yplt.title('Example',fontsize=18) #設(shè)置標(biāo)題plt.legend() #顯示圖例(y=x^2)plt.show()#顯示圖形(該句可省略)%matplotlibqt#獨(dú)立窗口模式,魔術(shù)命令僅在Ipython中執(zhí)行,不要寫入.py程序
#獨(dú)立窗口模式可修改圖形(增加一條線,觀察變化)plt.plot(x,2*x+5,color='r',ls='-',label='y=2x+5')9.1Matplotlib簡(jiǎn)介9.1.1繪圖示例(y=2*x)y=2*np.arange(10)#只提供了y值。藍(lán)色、實(shí)線、線寬2plt.plot(y,color='b',ls='-',linewidth=2)plt.title('y=2*x',fontsize=18)matplotlib支持兩種編程模式,一種類似MATLAB模式,通過plt.方法()的命令形式繪圖。另一種是面向?qū)ο缶幊棠J?,采用這種模式的等效代碼如下。本章代碼兼用這兩種模式,plt模式更適合初學(xué)者。%matplotlibinline#嵌入模式
y=2*np.arange(10)ax=plt.subplot() #先生成一個(gè)axes子圖對(duì)象ax.plot(y)
#然后在axes上繪圖ax.set_title('y=2*x',fontsize=18) #設(shè)置標(biāo)題9.1Matplotlib簡(jiǎn)介9.1.2顏色、線型和標(biāo)記符號(hào)作圖時(shí)需要指定線條的顏色、線型、標(biāo)記符號(hào)等參數(shù),語句格式如下。plt.plot(x,y,ls='線型',color='顏色',marker='標(biāo)記',
lw=線寬)常用的各種格式符號(hào)如表9.1、表9.2、表9.3所示。linestyle參數(shù)表描述linestyle參數(shù)表描述-實(shí)線:虛線--破折線'None'空白(不畫線)-.點(diǎn)畫線
表9.1linestyle(ls)線型參數(shù)表顏色名稱簡(jiǎn)寫描述顏色名稱簡(jiǎn)寫描述redr紅色yellowy黃色blackk黑色whitew白色blueb藍(lán)色greeng綠色cyanc青色
表9.2常用color(c)參數(shù)表顯示可用顏色:
importmatplotlib;ames9.1Matplotlib簡(jiǎn)介9.1.2顏色、線型和標(biāo)記符號(hào)表9.3marker標(biāo)記符號(hào)表標(biāo)記描述標(biāo)記描述o圓圈s(小寫)正方形.點(diǎn)*星號(hào)D菱形d小菱形+加號(hào)xX號(hào)v(小寫)一角朝下的三角形<
一角朝左的三角形>
一角朝右的三角形^一角朝上的三角形None空白
標(biāo)記符號(hào)有很多種,可以用“plt.plot?”命令查看相關(guān)幫助。作折線圖時(shí)如不設(shè)置格式符號(hào)則默認(rèn)格式是'b-',即藍(lán)色實(shí)線。x=np.arange(10)y=x**2+2*x+5#設(shè)置顏色、線型、標(biāo)記符、標(biāo)記大小、
線寬plt.plot(x,y,c='r',ls=':',marker='o',markersize=10,lw=2)plt.plot(x,y,'ro:',lw=2)#簡(jiǎn)寫,效果同上條。圖見下頁左子圖9.1Matplotlib簡(jiǎn)介9.1.2顏色、線型和標(biāo)記符號(hào)可以一次性傳送多組數(shù)據(jù)和格式符以便在一幅圖上繪出多條線。x=np.arange(10)y1=xy2=x**2+3*x+4y3=5*x+10#三組數(shù)據(jù)繪制三條線,返回由三條線(Line2D對(duì)象)構(gòu)成的列表lst=plt.plot(x,y1,'rs-',x,y2,'b--',x,y3,'go')#三組數(shù)據(jù)繪三條線,右下圖plt.legend(lst,['Line1','Line2','Line3'])#設(shè)置列表中每條線的圖例補(bǔ)充:從默認(rèn)調(diào)色版獲取顏色繪制多根線條時(shí),如不指定顏色,plt會(huì)從調(diào)色版依次選取顏色。下面代碼展示了默認(rèn)調(diào)色版上的10種顏色。importmatplotlib.pyplotaspltimportnumpyasnpr=np.array([3,5])#兩個(gè)半徑#共12根線,最后2根和前2根顏色一樣forthetainnp.linspace(0,np.pi,12):plt.plot(r*np.cos(theta),r*np.sin(theta),lw=3)#顯示默認(rèn)調(diào)色版importseabornassns#導(dǎo)入seaborn繪圖庫pal=sns.color_palette()#獲取默認(rèn)調(diào)色版sns.palplot(pal)#顯示調(diào)色版9.1Matplotlib簡(jiǎn)介9.1.3plt常用命令方法示例解釋方法示例解釋plt.plot()折線圖plt.grid(True/False)顯示/不顯示網(wǎng)格線plt.xlim(0,5)設(shè)x軸范圍plt.ylim(0,8)設(shè)y軸范圍plt.axis('equal')設(shè)x/y軸單位長(zhǎng)度相等plt.axis('on/off')顯示/不顯示坐標(biāo)軸plt.xlabel('x軸')設(shè)x軸標(biāo)記文字plt.ylabel('y軸')設(shè)y軸標(biāo)記文字plt.title('圖標(biāo)題')設(shè)圖形標(biāo)題plt.legend()顯示圖例plt.text(x,y,'text')指定坐標(biāo)處顯示文字plt.savefig('a.png')保存圖片plt.figure(figsize=(m,n))設(shè)置圖形大小plt.style.use('風(fēng)格')設(shè)置繪圖風(fēng)格表9.4plt常用方法表9.1Matplotlib簡(jiǎn)介9.1.3plt常用命令plt.plot(np.arange(10)) #y=x直線plt.title('GraphTitle',fontsize=18) #標(biāo)題,黑體字
plt.xlim(1,5) #x軸顯示[1,5]范圍plt.ylim(2,6) #y軸顯示[2,6]范圍,左側(cè)子圖plt.axis((1,5,2,6)) #同時(shí)設(shè)x/y軸范圍由于屏幕的橫向縱向分辨率不同,單位長(zhǎng)度對(duì)應(yīng)的橫、縱屏幕點(diǎn)數(shù)也不同,所以在屏幕上顯示一個(gè)圓時(shí)看起來會(huì)像橢圓。此時(shí)可設(shè)置plt.axis('equal')將橫、縱軸的屏幕單位長(zhǎng)度設(shè)為相同。幫助plt.axis?x=np.linspace(-3,3,100)#[-3,3]之間生成100個(gè)x值y=np.sqrt(9-x**2) #計(jì)算半徑為3的圓上的點(diǎn)的y坐標(biāo)plt.plot(x,y,x,-y)#畫半徑為3的圓。2組數(shù)據(jù),先畫上半圓,再畫下半圓#plt.axis('equal')#設(shè)置x/y軸單位長(zhǎng)度相等。如刪除本行注釋,效果如右下圖9.1Matplotlib簡(jiǎn)介9.1.3plt常用命令如果要突出圖形而淡化其它內(nèi)容,可以設(shè)置plt.axis('off')將坐標(biāo)軸隱藏起來。如果想更清楚地觀察數(shù)據(jù)值,可以設(shè)置plt.grid(True)顯示網(wǎng)格線。x=np.linspace(-3*np.pi,3*np.pi,100) #[-3π,3π]之間生成100個(gè)x值y=np.sin(x) #計(jì)算sin值plt.plot(x,y) #畫正弦曲線圖plt.grid(True) #顯示網(wǎng)格線,見左下圖x=np.arange(10)y1=3*x;y2=5*xplt.plot(x,y1,label='Line1') #線1plt.plot(x,y2,label='Line2') #線2#loc=8圖例顯示在下方居中,frameon=False圖例不顯示外邊框,ncol=2分2列plt.legend(loc=8,frameon=False,ncol=2)#見右下圖圖例9.1Matplotlib簡(jiǎn)介9.1.3plt常用命令plt.legend(loc='best')用于顯示圖例,位置參數(shù)loc如下表所示。plt.figure(figsize=(8,6)) #設(shè)置圖形的橫、高,單位英寸plt.savefig('fig.png') #保存圖片,此命令應(yīng)在plt.show之前plt.style.available #顯示可用的繪圖風(fēng)格
plt.style.use('ggplot') #設(shè)置繪圖風(fēng)格為ggplotplt.tick_params(labelsize=14) #設(shè)置坐標(biāo)軸刻度標(biāo)記大小位置字符串整數(shù)值位置位置字符串整數(shù)值位置best0(默認(rèn)值,自適應(yīng))最佳upperright1右上upperleft2左上lowerleft3左下lowerright4右下right5右centerleft6左中centerright7右中l(wèi)owercenter8中下uppercenter9中上center10居中
9.1Matplotlib簡(jiǎn)介中文顯示問題matplotlib默認(rèn)無法正確顯示中文,圖形中的中文將錯(cuò)誤顯示為小方格。要正確顯示中文一般在程序頭部設(shè)定中文字體,代碼如下:importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']='SimHei'#中文黑體plt.rcParams['axes.unicode_minus']=False#確保負(fù)號(hào)顯示正常plt.plot([-1,1],[-2,1])plt.title('中文標(biāo)題')#執(zhí)行上面設(shè)置后,中文和負(fù)號(hào)都應(yīng)顯示正確常用中文字體family=['SimHei','SimSun','FangSong','KaiTi','MicrosoftYaHei']fontname=['黑體','宋體','仿宋','楷體','微軟雅黑']蘋果筆記本沒有'SimHei',其中文字體應(yīng)設(shè)為:'ArialUnicodeMS'為節(jié)省版面,本書后面的代碼段未再列出上述語句,默認(rèn)已在程序頭部包含。9.2幾種常見的圖形表9.6matplotlib常用圖形類型命令名圖形類型命令名圖形類型plt.plot()折線圖plt.bar()柱形圖plt.pie()餅圖plt.barh()水平條形圖plt.hist()直方圖plt.scatter()散點(diǎn)圖plt.boxplot()箱線圖
表9.6所列出的部分圖形和Excel中的統(tǒng)計(jì)圖類似,但matplotlib的圖形是以編程方式實(shí)現(xiàn),適合處理較大的數(shù)據(jù)量,且定制性更好。9.2幾種常見的圖形9.2.1柱形圖plt.bar()柱形圖用于對(duì)一組數(shù)據(jù)值進(jìn)行比較,是最常見的對(duì)比圖形??v置時(shí)稱為柱形圖,橫置時(shí)稱為條形圖。sign=list('abcde')data=[0.2,0.3,0.4,0.5,0.1]plt.bar(x=sign,height=data)#可簡(jiǎn)寫為plt.bar(sign,data)plt.ylim([0,0.7]) #設(shè)置y軸顯示區(qū)域forx,yinenumerate(data): #將數(shù)據(jù)值標(biāo)注在柱形上方plt.text(x,y+0.03,y,ha='center',fontsize=14)#比y值高0.03的位置,ha:水平居中柱形圖至少應(yīng)提供x和height兩組數(shù)據(jù)。如果x是非數(shù)值型(例如字符),plt就將柱形依次順序排列,對(duì)應(yīng)x軸的0、1、2...位置;如果x是數(shù)值型,plt就將柱形顯示在x軸的對(duì)應(yīng)位置上。詳情可查看plt.bar?。標(biāo)注數(shù)值還可參見官網(wǎng)的ax.bar_label命令ax.bar_label
9.2幾種常見的圖形9.2.1柱形圖plt.bar()設(shè)置柱形圖:寬度、顏色、alpha透明度(取值0-1,越接近1顏色越深)。ax=plt.gca()#獲取當(dāng)前子圖#alpha透明度(取值0~1,越接近1顏色越深),返回的patch代表所有的柱子patch=ax.bar(x=[0,1,2],height=[5,4,6],color=['r','g','b'],alpha=0.5)ax.bar_label(patch,label_type='center')#標(biāo)注數(shù)值的新方法,plt3.5版新增ax.set_xticks([0,1,2],['紅','綠','藍(lán)'])#x軸只顯示0/1/2刻度,9.2幾種常見的圖形9.2.1柱形圖plt.bar()堆積柱形圖,注意bottom=data1參數(shù)。position=np.arange(1,4)data1=[0.2,0.3,0.4]w=0.3 #柱體寬度plt.bar(position,data1,width=w,color='grey',#寬度,內(nèi)部填充色edgecolor='r',hatch='/',#邊緣色,內(nèi)部填充圖案/tick_label=['一月','二月','三月'],#坐標(biāo)軸標(biāo)記label='A') #圖例data2=[0.4,0.2,0.4]plt.bar(position,data2,width=w,
bottom=data1,#data2以data1為底部,堆積edgecolor='w',hatch='x',label='B')plt.legend()9.2幾種常見的圖形9.2.1柱形圖plt.bar()簇狀柱形圖,注意水平位置的調(diào)整。position=np.arange(1,4)data1=[0.2,0.3,0.4]data2=[0.4,0.2,0.4]w=0.3 #柱寬plt.bar(position,data1,width=w)plt.bar(position+w,data2,width=w) #調(diào)整水平位置,簇狀圖#調(diào)整x軸刻度位于兩柱正中間plt.xticks(position+w/2,['A','B','C'])9.2幾種常見的圖形9.2.1柱形圖plt.barh()除了豎直的柱形圖,繪圖庫還提供plt.barh()水平條形圖。下面將兩組數(shù)據(jù)做一個(gè)水平條形圖對(duì)比。data1=np.array([5,10,33,21])data2=np.array([5,15,28,18])x=np.arange(4)plt.barh(x,data1,hatch='x') #x軸正半軸,水平條形圖中x/y坐標(biāo)交換plt.barh(x,-data2,hatch='/') #負(fù)半軸plt.xlim(-40,40)fori,yinenumerate(data1):plt.text(y,i,y)#標(biāo)注數(shù)值fori,yinenumerate(data2):plt.text(-y-3,i,y)9.2幾種常見的圖形9.2.2餅圖plt.pie()餅圖用于顯示數(shù)據(jù)集中各數(shù)據(jù)所占百分比。最簡(jiǎn)單的餅圖只需提供一組數(shù)值和標(biāo)簽即可,繪圖庫自動(dòng)計(jì)算各數(shù)值所占比例。幫助plt.pie?rate=[1,5,3,8]labels=['一月','二月','三月','四月']plt.pie(rate,labels=labels) #labels用于設(shè)置標(biāo)注文字9.2幾種常見的圖形9.2.2餅圖plt.pie()上面的簡(jiǎn)單餅圖還不完善,如下代碼可對(duì)其進(jìn)一步加工以突出顯示效果。rate=[1,5,3,8]labels=['一月','二月','三月','四月']plt.figure(figsize=(6,9)) #設(shè)置圖形大小explode=(0.1,0,0,0.05) #explode設(shè)置各部分離圓心的距離#patches扇形列表,ltext標(biāo)注文字列表,ptext百分比文字列表patches,ltext,ptext=plt.pie(rate,explode=explode,labels=labels,autopct='%.1f%%',shadow=False,startangle=90)#autopct:百分比數(shù)字的顯示格式,%.1f%%表示保留一位小數(shù)#shadow:是否有陰影#startangle:起始角度。默認(rèn)從0度逆時(shí)針開始為第一塊,此處選擇從90度開始(一月數(shù)據(jù))plt.setp(patches,alpha=0.7) #扇形透明度,利用plt.setp設(shè)置各圖形對(duì)象plt.setp(ltext,size=18) #外側(cè)標(biāo)注文字大小plt.setp(ptext,size=16) #百分比文字大小plt.legend(fontsize=16) #圖例文字大小9.2幾種常見的圖形9.2.2餅圖plt.pie()上例注意幾個(gè)地方:(1)explode=(0.1,0,0,0.05)用于設(shè)置各部分從整圓中凸顯的比例。這里設(shè)置了“一月”數(shù)據(jù)凸顯0.1,“四月”數(shù)據(jù)凸顯0.05。(2)patches,ltext,ptext=plt.pie()執(zhí)行后返回一系列對(duì)象。patches代表扇形列表,ltext代表標(biāo)注文字列表,ptext代表百分比文字列表。因默認(rèn)文字較小,所以用plt.setp設(shè)置返回對(duì)象的文字大小。9.2幾種常見的圖形9.2.2餅圖plt.pie()#餅圖半徑默認(rèn)為1,設(shè)置圓環(huán)寬度0.4,繪環(huán)形圖plt.pie([1,2,3],wedgeprops={'width':0.4})plt.text(0,0,'環(huán)形餅圖',fontsize=14,ha='center',va='center')#圖9.17
plt.figure() #新建畫布,避免覆蓋上一圖#各數(shù)據(jù)均小于1且總和小于1,可設(shè)置normalize=False參數(shù)繪出缺角餅圖plt.pie([0.1,0.2,0.5],normalize=False)plt.text(0.3,-0.5,'缺角餅圖') #圖9.189.2幾種常見的圖形9.2.3散點(diǎn)圖plt.scatter()散點(diǎn)圖在圖上標(biāo)記出每個(gè)點(diǎn),根據(jù)散點(diǎn)圖可初步判斷數(shù)據(jù)點(diǎn)的關(guān)系,例如x和y是直線關(guān)系或二次曲線關(guān)系。np.random.seed(7) x=np.random.uniform(-2,3,20)#uniform均勻分布y1=3*x+1+2*np.random.random(20) #生成直線點(diǎn)并加入隨機(jī)值干擾plt.scatter(x,y1) #畫原始數(shù)據(jù)的散點(diǎn)圖,下頁左圖plt.figure() #產(chǎn)生新圖arg=np.polyfit(x,y1,1) #擬合直線,得到一次多項(xiàng)式的系數(shù)f=np.poly1d(arg) #利用系數(shù)構(gòu)造擬合一次多項(xiàng)式,參見7.4.4節(jié)y2=f(x) #根據(jù)擬合的多項(xiàng)式計(jì)算y2值plt.scatter(x,y1) #先畫原始散點(diǎn)圖plt.plot(x,y2,color='r') #再畫擬合直線,下頁右圖plt.text(0.7,1,'y=',fontsize=12) #圖上輸出'y='plt.text(1,1,f,fontsize=12) #在(1,1)處顯示多項(xiàng)式f9.2幾種常見的圖形9.2.3散點(diǎn)圖plt.scatter()上例先畫出散點(diǎn)圖,觀察這些點(diǎn)的分布類似直線,因此使用numpy中的polyfit()方法擬合直線(參閱7.4.4節(jié)),擬合公式為y=3.08x+2.014。9.2幾種常見的圖形9.2.3散點(diǎn)圖plt.scatter()散點(diǎn)圖中每個(gè)點(diǎn)可單獨(dú)設(shè)定顏色或大小。下面代碼隨機(jī)生成20個(gè)點(diǎn),并賦予這些點(diǎn)不同的顏色和大小。alpha=0.5設(shè)置透明度,取值范圍[0,1],1表示不透明,顏色最深。各點(diǎn)顏色值是隨機(jī)小數(shù),通過cmap='viridis'映射為某種顏色。N=20 #總點(diǎn)數(shù)rng=np.random.RandomState(7)x=rng.randn(N) #生成N個(gè)標(biāo)準(zhǔn)正態(tài)分布小數(shù)y=rng.randn(N)colors=rng.rand(N)sizes=1000*rng.rand(N) #點(diǎn)的大小為隨機(jī)值plt.scatter(x,y,c=colors,s=sizes,alpha=0.5,cmap='viridis')#顏色/大小/透明度plt.colorbar()#顯示顏色條可用'viridis','winter','spring'等
顏色映射參考/2.0.2/examples/color/colormaps_reference.htmlplt.colormaps()可顯示所有顏色映射表。9.2幾種常見的圖形9.2.3散點(diǎn)圖plt.scatter()下面用鳶尾花iris數(shù)據(jù)集繪制兩個(gè)散點(diǎn)圖。這個(gè)數(shù)據(jù)集有150條記錄,共三種鳶尾花。每條數(shù)據(jù)包含花萼(sepal)長(zhǎng)度、寬度,花瓣(petal)長(zhǎng)度、寬度,花的類型共5個(gè)數(shù)據(jù)項(xiàng)。機(jī)器學(xué)習(xí)中常用此數(shù)據(jù)集測(cè)試分類算法。importpandasaspdiris=pd.read_csv('data/iris.csv') #iris.csv見教材配套數(shù)據(jù)#產(chǎn)生形如{'setosa':'^','versicolor':'v','virginica':'o'}的字典flowerdic={flower:markforflower,markinzip(iris.species.unique(),'^vo')}forxin[0,1]: ifx==0:s='花萼'else:s='花瓣'plt.figure(figsize=(6,4)) #創(chuàng)建新圖
plt.title('鳶尾花'+s+'長(zhǎng)度-寬度散點(diǎn)圖',fontsize=18)plt.xlabel(s+'長(zhǎng)度',fontsize=16)plt.ylabel(s+'寬度',fontsize=16)#遍歷字典,取出花的種類和對(duì)應(yīng)的點(diǎn)的標(biāo)記符號(hào)
forflower,minflowerdic.items():d=iris[iris.species==flower] #每次篩選一種花,三次完成
plt.scatter(d.iloc[:,2*x],d.iloc[:,2*x+1],marker=m,s=120,label=flower)plt.legend(fontsize=14) 9.2幾種常見的圖形9.2.3散點(diǎn)圖plt.scatter()從上面兩圖可以看出,三種花在圖形上的區(qū)分度較大,尤其是花瓣散點(diǎn)圖,這提示我們可以通過花瓣的長(zhǎng)度、寬度判斷花的類型。根據(jù)已知數(shù)據(jù)集計(jì)算出三類花的平均花瓣長(zhǎng)度、寬度,以后遇到未知類型的數(shù)據(jù)時(shí),與平均值比較即可以較高的正確率判斷花的類型。9.2幾種常見的圖形9.2.4直方圖plt.hist()直方圖(Histogram)用于表示數(shù)據(jù)的分布情況。圖形的橫軸表示數(shù)據(jù)區(qū)間段,縱軸表示每個(gè)區(qū)間段內(nèi)數(shù)據(jù)的頻數(shù)或頻率。np.random.seed(7)arr=np.random.randn(1000)#返回:n頻數(shù),xbins區(qū)間段,patches所有柱體n,xbins,patches=plt.hist(arr,edgecolor='w',alpha=0.4)plt.bar_label(patches,label_type='edge')#柱體上標(biāo)數(shù)值plt.ylim(0,n.max()+20)#調(diào)整y軸范圍第一個(gè)arr參數(shù)是必須的,后面皆為可選參數(shù)。arr: 用于繪制直方圖的數(shù)組bins: 直方圖的柱數(shù),默認(rèn)為10density:默認(rèn)0表示y軸顯示頻數(shù),1顯示頻率(即頻數(shù)/數(shù)據(jù)總個(gè)數(shù))edgecolor:柱體邊線顏色facecolor:柱體顏色9.2幾種常見的圖形9.2.5箱線圖plt.boxplot()箱線圖反映數(shù)據(jù)的分布情況,一般包含若干關(guān)鍵數(shù)值點(diǎn)(Q1,Q2,Q3等)。arr=np.random.randn(150) #生成150個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)小數(shù)arr=np.append(arr,[-3.5,4.1]) #特意增加兩個(gè)離群點(diǎn)plt.boxplot(arr) #畫箱線圖下四分位數(shù)(Q1,即25%分位點(diǎn))、中位數(shù)、上四分位數(shù)(Q3,即75%分位點(diǎn))組成一個(gè)盒子。四分位距IQR=Q3-Q1,IQR構(gòu)成盒子的長(zhǎng)度,這個(gè)區(qū)間包含50%的數(shù)據(jù)點(diǎn)分布。箱線圖中默認(rèn)定義最小觀測(cè)值min=Q1-1.5*IQR,最大觀測(cè)值max=Q3+1.5*IQR。大多數(shù)正常數(shù)據(jù)都應(yīng)分布于[min,max]區(qū)間。9.2幾種常見的圖形9.2.5箱線圖plt.boxplot()正常數(shù)據(jù)應(yīng)分布于[min,max]區(qū)間,統(tǒng)計(jì)學(xué)上將位于[min,max]區(qū)間以外的數(shù)據(jù)稱為離群點(diǎn)(異常點(diǎn))。盒子中間的一條豎直線被稱為胡須線(whisker)??疾焯蕹x群點(diǎn)后的正常數(shù)據(jù),胡須線的下限取正常數(shù)據(jù)中的最小值,胡須線的上限取正常數(shù)據(jù)中的最大值,上限下限各用一短橫線表示,離群點(diǎn)單獨(dú)用小圓圈標(biāo)記。arr=[-3,0,5,5,6,7,8,9]print(np.percentile(arr,[25,50,75])) #輸出的分位值為[3.755.57.25]plt.boxplot(arr,showmeans=True) #True表示顯示平均值上例中,通過np.percentile(arr,[25,50,75]))方法計(jì)算得到arr的25%、50%、75%分位點(diǎn),即Q1、Q2、Q3,分別為3.75、5.5、7.25,計(jì)算如下。IQR=Q3-Q1=7.25-3.75=3.5min=Q1-1.5*IQR=3.75-5.25=-1.5max=Q3+1.5*IQR=7.25+5.25=12.5正常數(shù)據(jù)范圍是[-1.5,12.5],數(shù)據(jù)中的-3是離群點(diǎn),剔除-3并排序后的數(shù)據(jù)列表為[0,5,5,6,7,8,9],所以胡須線的下限為0,上限為9。補(bǔ)充:分位點(diǎn)公式=1+(n-1)*p,n為數(shù)據(jù)個(gè)數(shù),arr=[-3,0,5,5,6,7,8,9],
8個(gè)數(shù)
25%分位點(diǎn)的位置:1+(n-1)*0.25=1+7*0.25=2.75因此25%分位點(diǎn)的值為:第2個(gè)數(shù)+(第3-第2個(gè)數(shù))*0.75,即0+(5-0)*0.75=3.7575%分位點(diǎn)的位置:1+(n-1)*0.75=1+7*0.75=6.25因此75%分位點(diǎn)的值為:第6個(gè)數(shù)+(第7-第6個(gè)數(shù))*0.25即7+(8-7)*0.25=7.259.2幾種常見的圖形9.2.6其它圖形plt.xlim(0,1)#設(shè)x軸坐標(biāo)區(qū)域plt.ylim(0,1)#設(shè)y軸坐標(biāo)區(qū)域plt.axhline(y=0.2,color='g') #水平綠線plt.axhline(y=0.4,xmin=0.2,xmax=0.6,color='r') #水平紅線,x軸范圍[0.2,0.6]plt.axvline(x=0.85,color='r') #垂直紅線plt.axvline(x=0.9,ymin=0.2,ymax=0.5,color='b')#垂直藍(lán)線,y軸范圍[0.2,0.5]plt.axhspan(ymin=0.6,ymax=0.8,xmin=0.1,xmax=0.5,fc='g')#水平綠色區(qū)間帶plt.axvspan(xmin=0.7,xmax=0.8,ymin=0.6,ymax=0.9,fc='b',alpha=0.5)#藍(lán)帶9.3多子圖繪制9.3.1
fig.add_subplot添加子圖可以在一張圖上同時(shí)顯示多個(gè)子圖形以便進(jìn)行比較研究。繪制多子圖可借助figure畫布對(duì)象,這個(gè)對(duì)象用于創(chuàng)建子圖。x=np.arange(1,100)fig=plt.figure() #創(chuàng)建新畫布,或fig=plt.gcf()返回默認(rèn)畫布ax1=fig.add_subplot(221) #2行x2列第一個(gè)子圖,ax1=plt.subplot(221)亦可ax1.plot(x,x)ax2=fig.add_subplot(222) #2行x2列第二個(gè)子圖ax2.plot(x,-x)ax3=fig.add_subplot(2,2,3) ax3.plot(x,x**2)ax4=fig.add_subplot(2,2,4) ax4.plot(x,np.log(x))ax1.set_xlabel('x軸',fontsize=14)ax2.set_ylabel('y軸',fontsize=14)ax3.set_title('$x^2$',fontsize=14)ax4.set_title('log(x)',fontsize=14)plt.tight_layout()#調(diào)整子圖間距,避免覆蓋繪圖時(shí),plt有一張默認(rèn)畫布(figure),畫布上有一個(gè)默認(rèn)子圖(Axes),簡(jiǎn)單繪圖不需自行管理子圖。復(fù)雜繪圖需自行安排子圖布局。9.3多子圖繪制9.3.1
fig.add_subplot添加子圖規(guī)劃子圖布局時(shí),行列數(shù)可靈活地調(diào)整,以實(shí)現(xiàn)特殊的布局效果。y1=[10,15,12,18,20]y2=[15,17,23,20,15]plt.subplot(211) #2行1列模式的第1個(gè)子圖plt.plot(y1,'g-o',y2,'b:x')plt.legend(['y1','y2'])plt.subplot(223) #2行2列模式的第3個(gè)子圖(左下角)plt.bar(range(5),y1,color='g',alpha=.4)plt.subplot(224) #第4個(gè)子圖(右下角)plt.bar(range(5),y2,color='b',alpha=.4)9.3多子圖繪制9.3.2plt.subplots添加子圖plt.subplots()命令可一次創(chuàng)建一個(gè)多子圖數(shù)組。#返回figure和2x3的axes數(shù)組,sharex/y表示子圖間共用x和y軸fig,axes=plt.subplots(nrows=2,ncols=3,sharex=True,sharey=True)forminrange(2):forninrange(3): #畫2x3的隨機(jī)直方圖
axes[m,n].hist(np.random.randn(500),bins=50,color='k',alpha=0.5)plt.subplots_adjust(wspace=0,hspace=0)#子圖間水平和垂直間距為0plt.suptitle('子圖布局(2行3列)',fontsize=16)#設(shè)置suptitle注意axes數(shù)組形狀為(2,3),包含6個(gè)子圖,調(diào)用時(shí)使用axes[m,n]形式如果fig,axes=plt.subplots(nrows=1,ncols=3)此時(shí)axes是一維數(shù)組,axes[n]補(bǔ)充:圖中圖fig.add_axes
importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0,5,10)y=x**2fig=plt.figure()ax1=fig.add_axes([0.1,0.1,0.8,0.8])ax1.plot(x,y,'r')ax1.set_xlabel('x')ax1.set_ylabel('y')ax1.set_title('大圖',fontsize=24,color='b')#插入圖中圖ax2=fig.add_axes([0.2,0.5,0.4,0.3])#小子圖ax2.plot(y,x,'g')ax2.set_xlabel('y')ax2.set_ylabel('x')ax2.set_title('插入小圖') fig.add_axes([0.2,0.5,0.4,0.3])中(0.2,0.5)是子圖左下角坐標(biāo),0.4寬,0.3高,此為比例坐標(biāo),將畫布寬和高均視為1。
9.3多子圖繪制9.3.3twinx()雙Y軸圖形有時(shí)我們需要在一幅圖上展示兩組量級(jí)或單位不同的數(shù)據(jù),例如下圖需同時(shí)繪制降水量(ml)和溫度(?c)的對(duì)比圖形,這時(shí)可使用雙Y軸圖形。importpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']df=pd.read_excel('data/溫度降水量.xlsx')plt.bar(df.月份,df.降水量,alpha=0.5,label='降水量')plt.ylabel('降水量(ml)',fontsize=16)plt.legend(loc='upperleft')#gca()返回當(dāng)前子圖,twinx()獲取其孿生子圖,axright將使用右側(cè)軸脊作為y軸axright=plt.gca().twinx()axright.plot(df.月份,df.溫度,'go-',label='溫度')axright.set_ylabel('溫度($^\circ$C)',fontsize=16)#$^\circ$溫度符號(hào)?axright.legend(loc='upperright') 9.4設(shè)置圖形裝飾項(xiàng)matplotlib的圖形有很多裝飾項(xiàng),可以設(shè)置標(biāo)題、刻度、坐標(biāo)軸標(biāo)簽文字等。設(shè)置方法主要有兩種:plt.方法(參數(shù)表)和
axes.set_方法(參數(shù)表)。fig=plt.figure()ax=fig.add_subplot(1,1,1) #創(chuàng)建一個(gè)ax對(duì)象ax.plot(np.random.randn(1000).cumsum())#隨機(jī)數(shù)累加并繪制折線圖ticks=ax.set_xticks([0,250,500]) #x軸上只顯示0,250,500處的刻度#將上面三個(gè)刻度值用如下三個(gè)文字串顯示labels=ax.set_xticklabels(['數(shù)據(jù)一','數(shù)據(jù)二','數(shù)據(jù)三'],rotation=30,fontsize=14)ax.set_title('隨機(jī)數(shù)累加',fontsize=18)ax.set_xlabel('X軸',fontsize=18)ax.set_ylabel('Y軸',fontsize=18) 9.4設(shè)置圖形裝飾項(xiàng)9.4.1添加注解plt.text()plt.text()
方法可在圖形上添加注解文字,格式為plt.text(x,y,'注解文字'),其中x和y是注解文字坐標(biāo)位置。plt.axis([0,5,0,20]) #設(shè)定x軸[0,5],y軸[0,20]顯示范圍plt.plot([1,2,3,4],[1,4,9,16],'ro') #繪制4個(gè)紅點(diǎn)#在(1.1,12)位置用LaTeX語法顯示
y=x2plt.text(1.1,12,r'$y=x^2$',bbox={'facecolor':'yellow','alpha':0.2})plt.text(1,1.5,'first') #在(1,1.5)處顯示firstplt.text(2,4.5,'second') #在(2,4.5)處顯示second#定義一個(gè)box修飾字典,設(shè)定各種格式(前景色、邊線顏色、邊框類型)box={'facecolor':'0.75','edgecolor':'k','boxstyle':'round'}plt.text(3,7.5,'Third',bbox=box) 9.4設(shè)置圖形裝飾項(xiàng)LaTeX排版標(biāo)記語言matplotlib支持LaTeX排版標(biāo)記語言,可以方便地顯示各種數(shù)學(xué)表達(dá)式。LaTeX標(biāo)記格式為$\特殊字符串$plt.axis([0,10,0,10])#設(shè)定x和y軸范圍plt.text(1,9,r'希臘字母$\alpha>\beta$',fontsize=14)#LaTeX語法plt.text(1,7,r'下標(biāo)$\alpha_i>\beta_i$',fontsize=14)plt.text(1,5,r'上標(biāo)$s^2+y^3$',fontsize=14)plt.text(1,3,r'分?jǐn)?shù)$\frac{2}{3}$',fontsize=14)plt.text(1,1,r'平方根$\sqrt{x^2+y^2}$',fontsize=14)plt.text(5,9,r'求和符號(hào)$\sum_{i=0}^\inftyx_i$',fontsize=12)plt.text(5,7,r'開n次方$\sqrt[3]{x}$',fontsize=16)plt.text(5,5,r'$sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',fontsize=12)plt.text(5,3,r'積分$\int_a^bf(x)\mathrmbxfv91jx$',fontsize=12) #前面的cos(x)是普通字符,后面的cos(x)經(jīng)LaTex修飾,顯示效果有差異plt.text(5,1,'cos(x)--$cos(x)$',fontsize=12)參考/9.4設(shè)置圖形裝飾項(xiàng)9.4.1添加注解plt.annotate()除了plt.text(),plt.annotate()也可在指定坐標(biāo)處添加注解,還可設(shè)定標(biāo)注箭頭。x=np.linspace(-np.pi*2,np.pi*2,100)y=np.sin(x)plt.plot(x,y)plt.annotate('頂部',xy=(np.pi/2,1),#箭頭坐標(biāo)
xytext=(3.5,0.8),#文字坐標(biāo)
#箭頭外觀,rad箭頭彎曲度(值越大越彎曲),線條寬度
arrowprops={'arrowstyle':'->','connectionstyle':'arc3,rad=0.3','lw':3})plt.annotate('底部',xy=(-np.pi/2,-1),xytext=(-np.pi/2,-0.5),#箭頭外觀,shrink箭頭距文字的收縮程度
arrowprops={'facecolor':'blue','shrink':0.1})9.4設(shè)置圖形裝飾項(xiàng)9.4.2設(shè)置坐標(biāo)軸對(duì)坐標(biāo)軸的修飾主要包括設(shè)置原點(diǎn)位置,設(shè)置坐標(biāo)軸上的刻度間距、標(biāo)記文字等。下面來看一個(gè)設(shè)置原點(diǎn)位置的例子。defformat_spines():#函數(shù):將坐標(biāo)軸原點(diǎn)設(shè)置在圖中央
ax=plt.gca()#gca()返回當(dāng)前默認(rèn)子圖
ax.spines['right'].set_color('none')#隱藏右側(cè)軸脊
ax.spines['top'].set_color('none')#隱藏頂部軸脊
ax.spines['bottom'].set_position(('data',0))#下軸脊移到0位置,X軸
ax.spines['left'].set_position(('data',0))#左軸脊移到0位置,Y軸x=np.linspace(-np.pi,np.pi,100)plt.plot(x,np.sin(x),color='r',label='sin(x)')plt.plot(x,np.cos(x),color='b',label='cos(x)')xlabels=(r'$-\pi$',r'$-\pi/2$',r'$+\pi/2$',r'$+\pi$')#LaTeX語法plt.xticks((-np.pi,-np.pi/2,np.pi/2,np.pi),xlabels)#修改x軸刻度顯示plt.yticks([-1,-0.5,0,0.5,1])#X軸和Y軸加上黑色箭頭plt.annotate('',xy=(np.pi+0.3,0),xytext=(np.pi+0.1,0),arrowprops={'color':'black'})plt.annotate('',xy=(0,1.1),xytext=(0,1),arrowprops={'color':'black'})plt.legend(loc='upperleft')plt.tick_params(axis='both',labelsize=14)#設(shè)定軸上刻度的文字大小format_spines()#用自定義函數(shù)修飾子圖9.4設(shè)置圖形裝飾項(xiàng)9.4.2設(shè)置坐標(biāo)軸如果需要將坐標(biāo)軸放置在圖形中心,可設(shè)置軸的右側(cè)和頂部邊線的顏色為none(隱藏),再將左側(cè)邊線(即y軸)移到0刻度位置,將下側(cè)邊線(即x軸)移到0刻度位置。坐標(biāo)軸上的刻度默認(rèn)是數(shù)字,但可使用plt.xticks([坐標(biāo)點(diǎn)],[標(biāo)記文字])的命令將對(duì)應(yīng)的坐標(biāo)點(diǎn)標(biāo)識(shí)修改為需要顯示的字符。9.4設(shè)置圖形裝飾項(xiàng)9.4.2設(shè)置坐標(biāo)軸坐標(biāo)軸上的刻度可分為主刻度(major)和次刻度(minor),次刻度線默認(rèn)不顯示。例如可設(shè)置0、1、2等整數(shù)為主刻度,設(shè)0.5、1.5為次刻度??潭瓤赏ㄟ^定位器函數(shù)設(shè)定,同時(shí)還可以自定義顯示的格式,參加下例。#引入"定位器"和"刻度格式"兩個(gè)函數(shù)frommatplotlib.tickerimportMultipleLocator,FormatStrFormattert=np.arange(0.0,100.0,1)s=np.sin(0.1*np.pi*t)*np.exp(-t*0.01)ax=plt.gca()#獲取當(dāng)前子圖ax.plot(t,s,'--*')ax.grid(True,linestyle="--",color="gray",linewidth="0.5",axis='both')xmajorLocator=MultipleLocator(10)#主刻度設(shè)為10的倍數(shù)xmajorFormatter=FormatStrFormatter('%.0f')#刻度標(biāo)簽文本格式(取整)xminorLocator=MultipleLocator(5)#次刻度設(shè)為5的倍數(shù)ax.xaxis.set_major_locator(xmajorLocator)#x軸應(yīng)用上面設(shè)置的主刻度定位器ax.xaxis.set_major_formatter(xmajorFormatter)#x軸主刻度格式ax.xaxis.set_minor_locator(xminorLocator)#次刻度,執(zhí)行此句才會(huì)顯示次刻度線9.4設(shè)置圖形裝飾項(xiàng)9.4.2設(shè)置坐標(biāo)軸#接上頁ymajorLocator=MultipleLocator(0.5)#主刻度標(biāo)設(shè)為0.5的倍數(shù)ymajorFormatter=FormatStrFormatter('%.2f')#刻度標(biāo)簽文本格式(2位小數(shù))yminorLocator=MultipleLocator(0.1)#次刻度設(shè)為0.1的倍數(shù)ax.yaxis.set_major_locator(ymajorLocator)#y軸應(yīng)用上面設(shè)置的主刻度定位器ax.yaxis.set_major_formatter(ymajorFormatter)#y軸主刻度格式ax.yaxis.set_minor_locator(yminorLocator)#y軸次刻度,圖9.409.4設(shè)置圖形裝飾項(xiàng)9.4.3填充顏色和顯示圖片可以使用plt.fill_between()方法填充顏色以增強(qiáng)圖形的視覺效果。deffill_sin(): #自定義的繪圖函數(shù)n=256X=np.linspace(-np.pi,np.pi,n)Y=np.sin(2*X)plt.plot(X,Y+1,color='b') #上方的藍(lán)色sin線#表示在X范圍內(nèi),[1,Y+1]這段Y軸填充顏色
plt.fill_between(X,1,Y+1,color='b',alpha=0.3)plt.plot(X,Y-1,color='k') #下方的黑色sin線#條件填充,(Y-1)>-1
時(shí)填藍(lán)色plt.fill_between(X,-1,Y-1,where=(Y-1)>-1,color='b',alpha=0.3)#條件填充,(Y-1)<-1時(shí)填紅色plt.fill_between(X,-1,Y-1,where=(Y-1)<-1,color='r',alpha=0.3)plt.xlim(-np.pi,np.pi) #設(shè)定x軸范圍plt.ylim(-2.5,2.5) #設(shè)定y軸范圍plt.figure(figsize=(6,4))#設(shè)圖形大小,圖見下頁fill_sin() #調(diào)用自定義繪圖函數(shù)9.4設(shè)置圖形裝飾項(xiàng)9.4.3填充顏色和顯示圖片plt.fill_between()方法用于填充顏色,其參數(shù)形式為:fill_between(x軸區(qū)域,y軸起點(diǎn),y軸終點(diǎn),color='填充色',alpha=透明度)。該方法在指定的x軸范圍內(nèi),從y軸的起點(diǎn)填充到y(tǒng)軸的終點(diǎn),并可設(shè)定填充的條件,只有滿足條件才填充。9.4設(shè)置圖形裝飾項(xiàng)9.4.3填充顏色和顯示圖片plt不僅可繪制圖形還可顯示圖片文件。importmatplotlib.pyplotaspltarr=plt.imread('pic/cat.jpg')#讀入cat.jpg,返回np三維數(shù)組foraxnumin[221,224]:plt.subplot(axnum)#新增子圖
plt.imshow(arr)#顯示圖片
plt.axis('off')
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西電力職業(yè)技術(shù)學(xué)院《社會(huì)保障史》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林體育學(xué)院《解剖和生理(生理)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南食品藥品職業(yè)學(xué)院《高等數(shù)理統(tǒng)計(jì)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南大眾傳媒職業(yè)技術(shù)學(xué)院《國(guó)際物流與供應(yīng)鏈管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《壓強(qiáng)》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教版(2024)初中物理八年級(jí)下冊(cè)
- 高考物理總復(fù)習(xí)《力與物體的平衡》專項(xiàng)測(cè)試卷含答案
- 年產(chǎn)5萬臺(tái)模塊化操動(dòng)機(jī)構(gòu)及高壓斷路器生產(chǎn)線項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 鄭州軟件職業(yè)技術(shù)學(xué)院《鋼結(jié)構(gòu)設(shè)計(jì)B》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江電力職業(yè)技術(shù)學(xué)院《光電技術(shù)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)安大學(xué)《個(gè)體防護(hù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 污水土地處理系統(tǒng)中雙酚A和雌激素的去除及微生物研究
- HG-T+21527-2014回轉(zhuǎn)拱蓋快開人孔
- JTS-167-2-2009重力式碼頭設(shè)計(jì)與施工規(guī)范
- DBJ-T15-81-2022 建筑混凝土結(jié)構(gòu)耐火設(shè)計(jì)技術(shù)規(guī)程
- GB/T 22849-2024針織T恤衫
- 山東省淄博市2023-2024學(xué)年高二上學(xué)期教學(xué)質(zhì)量檢測(cè)化學(xué)試題
- 人工智能在電影與影視制作中的創(chuàng)新與效果提升
- 新生兒腸絞痛的課件
- 酒店民宿自媒體營(yíng)銷策劃
- 消除母嬰傳播培訓(xùn)課件
- 通用電子嘉賓禮薄
評(píng)論
0/150
提交評(píng)論