




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章Matplotlib基礎(chǔ)及應(yīng)用主講人:***13-10月-23Python數(shù)據(jù)分析與數(shù)據(jù)挖掘目錄contentsMatplotlib簡(jiǎn)介0102Matplotlib基礎(chǔ)知識(shí)03Pyplot的使用04Pyplot中的常用圖形Matplotlib簡(jiǎn)介017.1.1
Matplotlib主要特性 Matplotlib是一個(gè)常用的Python繪圖庫(kù),常與NumPy和Pandas一起結(jié)合使用,它以各種格式和跨平臺(tái)的交互環(huán)境生成可達(dá)到印刷質(zhì)量的圖形。Matplotlib可用于Python腳本、Python和IPythonshell、JupyterNotebook、Web應(yīng)用程序服務(wù)器和四個(gè)圖形用戶(hù)界面工具包。 Matplotlib具有良好的操作系統(tǒng)兼容性和圖形顯示底層接口兼容性,并支持幾十種圖形顯示接口與輸出格式,是Python中繪制二維、三維圖表的重要可視化工具。新版的Matplotlib可以輕松實(shí)現(xiàn)主流的繪圖風(fēng)格,其中加入了許多新的程序包,實(shí)現(xiàn)了更加簡(jiǎn)潔新穎的API,例如Seaborn、ggplot、HoloViews、Altair和Pandas對(duì)Matplotlib的API封裝的繪圖功能。其主要特點(diǎn):使用簡(jiǎn)單繪圖語(yǔ)句實(shí)現(xiàn)復(fù)雜繪圖效果;以交互式操作實(shí)現(xiàn)漸趨精細(xì)的圖形效果;對(duì)圖表的組成元素實(shí)現(xiàn)精細(xì)化控制;使用嵌入式的LaTeX輸出具有印刷級(jí)別的圖表、科學(xué)表達(dá)式和符號(hào)文本。7.1.2Matplotlib安裝python-mpipinstall-Upippython-mpipinstall-Umatplotlib
對(duì)于Windows、MacOS和普通Linux平臺(tái)來(lái)說(shuō),Anaconda、Canopy和ActiveState都是非常好的選擇。Winpython是Windows用戶(hù)的一個(gè)選項(xiàng)。這些發(fā)行版中已經(jīng)包含了matplotlib和許多其他有用的(數(shù)據(jù))科學(xué)工具。其安裝語(yǔ)法如下:
使用時(shí),只需將其導(dǎo)入即可:以plt作為Pyplot子模塊的縮寫(xiě)。importmatplotlibasmplimportmatplotlib.pyplotaspltMatplotlib基礎(chǔ)知識(shí)027.2.1導(dǎo)入Matplotlib
我們?cè)谧鲌D前,需要導(dǎo)入matplotlib和其中的模塊(如matplotlib.pyplot)。通常為了方便,設(shè)置一個(gè)常用的簡(jiǎn)寫(xiě)形式,本章例子中還需要導(dǎo)入NumPy和Pandas模塊。importmatplotlibasmplimportmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd7.2.2Matplotlib圖形構(gòu)成
Matplotlib將數(shù)據(jù)繪制在圖形(Figure)上,圖形可以理解為包含其他所有繪圖元素的頂級(jí)容器,其中包含所有軸(Axes)、其他Artist和畫(huà)布(Canvas)。通常情況下,畫(huà)布(Canvas)是一個(gè)繪圖的對(duì)象,對(duì)用戶(hù)而言,該對(duì)象一般不可見(jiàn)。在圖形上看到的一切都是Artist,Artist有兩種類(lèi)型,即圖形元素(primitives)和容器(containers)。圖形元素是我們需要加入Canvas的元素,比如線(xiàn)條、矩形、文字等,而容器是放置這些元素的地方,例如Axis、Axes和Figure,其中Figure是頂層的Artist。1、圖形(Figure)[例7-1]使用figure()方法創(chuàng)建新圖形。
軸(Axes)是matplotlibAPI中重要的類(lèi),這是因?yàn)檩S是大多數(shù)對(duì)象所在的繪圖區(qū)域。在創(chuàng)建Figure對(duì)象之后,在作圖前需要?jiǎng)?chuàng)建軸,軸是繪圖基準(zhǔn),是圖像中帶數(shù)據(jù)空間的區(qū)域。如果將Figure理解為容器,即畫(huà)布的載體,則具體的繪圖操作是在畫(huà)紙上完成,畫(huà)紙可以理解為子圖Subplot或更加靈活的子圖--軸(Axes)。2、軸(Axes)7.2.2Matplotlib圖形構(gòu)成[例7-2]本例首先生成一個(gè)空白Figure,然后創(chuàng)建1行2列的子圖,返回子圖的軸對(duì)象ax1和ax2。在第1個(gè)子圖的軸對(duì)象ax1上添加軸線(xiàn)標(biāo)簽X-Axis和Y-Axis,并設(shè)置軸線(xiàn)的數(shù)據(jù)范圍:X為[0,5],Y為[-2,2]。
軸線(xiàn)是類(lèi)似數(shù)字線(xiàn)的對(duì)象,是軸上的刻度。它們負(fù)責(zé)設(shè)置圖形范圍并生成記號(hào)(軸上的標(biāo)記)和記號(hào)標(biāo)簽(標(biāo)記記號(hào)的字符串)。一般情況下,圖中可以包含兩個(gè)或三個(gè)軸線(xiàn)對(duì)象(三維圖),它們負(fù)責(zé)處理數(shù)據(jù)范圍??梢允褂胮lt.axis()或plt.xlim()等函數(shù)設(shè)置軸線(xiàn)范圍,plt.xlabel()或者plt.ylabel()等為軸線(xiàn)命名,同時(shí)也可利用tick的相關(guān)方法對(duì)軸上的刻度進(jìn)行修改。3、軸線(xiàn)(Axis)7.2.2Matplotlib圖形構(gòu)成[例7-3]設(shè)置軸線(xiàn)實(shí)例。圖Figure、Axes和Axis的關(guān)系
圖例是展現(xiàn)圖表中數(shù)據(jù)組列表并通過(guò)提供線(xiàn)索(線(xiàn)條樣式或顏色)來(lái)讓數(shù)據(jù)組更易于識(shí)別。圖例的設(shè)置與修改是通過(guò)調(diào)用legend()來(lái)實(shí)現(xiàn)。4、圖例(legend)5、標(biāo)題(title)
標(biāo)題是對(duì)整個(gè)圖標(biāo)的說(shuō)明,方便對(duì)整個(gè)圖表含義的理解,通過(guò)調(diào)用plt.title()方法來(lái)實(shí)現(xiàn)對(duì)title內(nèi)容的設(shè)置。6、網(wǎng)格(Grid)
有時(shí)需要在圖形中添加網(wǎng)格,網(wǎng)格線(xiàn)方便看到圖表中每個(gè)元素的精確值,而且也方便執(zhí)行單點(diǎn)之間的對(duì)比。但是網(wǎng)格也會(huì)增加噪聲,讓看到實(shí)際的數(shù)據(jù)流變得困難。一般情況下,默認(rèn)狀態(tài)下無(wú)網(wǎng)格線(xiàn),可以通過(guò)調(diào)用grid()方法實(shí)現(xiàn)。7.2.2Matplotlib圖形構(gòu)成7、圖形主體內(nèi)容
圖形的主體內(nèi)容是一張圖的核心,對(duì)于二維圖表而言,圖形的主體內(nèi)容可以是點(diǎn),也可以是線(xiàn)條等。對(duì)應(yīng)的方法分別是點(diǎn)(scatter、plot)、線(xiàn)(line、plot)等。7.2.2Matplotlib圖形構(gòu)成[例7-4]添加了網(wǎng)格、圖例的繪圖實(shí)例。 Matplotlib默認(rèn)狀態(tài)下無(wú)法顯示中文,在前面的許多例子中各種標(biāo)題及圖例都是使用的英文。若在作圖過(guò)程中,需要顯示中文,可通過(guò)下面兩種方法進(jìn)行操作。方法一:借助rcParams修改字體實(shí)現(xiàn)設(shè)置
其中,rcParams[‘font.family’]的種類(lèi)也可以設(shè)置多種。屬性說(shuō)明‘font.family’用于顯示字體的名字‘font.style’字體風(fēng)格,正?!畁ormal’或斜體‘italic’‘font.size’字體大小,整數(shù)字號(hào)或者‘large’、‘x‐small’rcParams的屬性7.2.3Matplotlib中設(shè)置中文中文字體種類(lèi) Matplotlib默認(rèn)狀態(tài)下無(wú)法顯示中文,在前面的許多例子中各種標(biāo)題及圖例都是使用的英文。若在作圖過(guò)程中,需要顯示中文,可通過(guò)下面兩種方法進(jìn)行操作。方法一:借助rcParams修改字體實(shí)現(xiàn)設(shè)置7.2.3Matplotlib中設(shè)置中文
可以用下列語(yǔ)句查看matplotlib中默認(rèn)已經(jīng)識(shí)別到的所有可用字體和對(duì)應(yīng)的文件名,其中部分輸出的為字體名稱(chēng),font.fname部分輸出字體文件的路徑和文件名。importmatplotlib.pyplotaspltfrommatplotlibimportfont_managerforfontinfont_manager.fontManager.ttflist:#查看字體名以及對(duì)應(yīng)的字體文件名print(,'--',font.fname)輸出的“KaiTi--C:\Windows\Fonts\simkai.ttf”中,“KaiTi”為字體名,“C:\Windows\Fonts\simkai.ttf”為對(duì)應(yīng)的字體文件。則可以用如下語(yǔ)句來(lái)使用該字體,如下所示:plt.rcParams['font.family']='KaiTi'plt.text(0.5,0.5,'楷體',ha='center',fontsize=50) Matplotlib默認(rèn)狀態(tài)下無(wú)法顯示中文,在前面的許多例子中各種標(biāo)題及圖例都是使用的英文。若在作圖過(guò)程中,需要顯示中文,可通過(guò)下面兩種方法進(jìn)行操作。方法一:借助rcParams修改字體實(shí)現(xiàn)設(shè)置7.2.3Matplotlib中設(shè)置中文[例7-5]中文顯示方法一。 Matplotlib默認(rèn)狀態(tài)下無(wú)法顯示中文,在前面的許多例子中各種標(biāo)題及圖例都是使用的英文。若在作圖過(guò)程中,需要顯示中文,可通過(guò)下面兩種方法進(jìn)行操作。方法二:在有中文輸出的地方,增加一個(gè)fontproperties屬性。7.2.3Matplotlib中設(shè)置中文[例7-6]中文顯示方法二。Pyplot使用037.3.1plt.plot()的使用
在Matplotlib模塊中,Pyplot是一個(gè)核心的子模塊,通過(guò)該子模塊,我們可以完成很多基本的可視化操作。子模塊的導(dǎo)入如下:importmatplotlib.pyplotasplt
其中,以plt作為Pyplot子模塊的縮寫(xiě) Pyplot繪圖的主要功能是繪制x,y的坐標(biāo)圖,在完成繪圖后一般情況下是不會(huì)自動(dòng)顯示圖表的,需要調(diào)用plt.show()方法顯示。當(dāng)plt.plot()中只有一個(gè)輸入列表或者數(shù)組時(shí),參數(shù)會(huì)被當(dāng)作Y坐標(biāo)數(shù)據(jù),而X的坐標(biāo)列表自動(dòng)生成索引,默認(rèn)為[0,1,2,3,…]。1、基本使用使用plt.plot()繪制的主要是線(xiàn)圖,其語(yǔ)法格式為:plt.plot(x,y,
format_string,
**kwargs)其中:必要的參數(shù)是x坐標(biāo)列表和y坐標(biāo)列表。當(dāng)plt.plot(x,y)中用2個(gè)以上參數(shù)時(shí),則會(huì)按照x軸和y軸順序繪制數(shù)據(jù)點(diǎn)。7.3.1plt.plot()的使用[例7-7]plt.plot()繪制實(shí)例。plt.plot()還有數(shù)十個(gè)可選參數(shù)來(lái)設(shè)置繪圖特征,但常用的有幾個(gè)特征,分別是: color:設(shè)置線(xiàn)條顏色,默認(rèn)為藍(lán)色。 linewidthorlw:設(shè)置線(xiàn)條寬度,默認(rèn)為1.0。 linestyleorls:設(shè)置線(xiàn)條樣式,默認(rèn)為實(shí)線(xiàn)。 labels:設(shè)置圖形名稱(chēng),一般搭配legend屬性使用。 marker:設(shè)置數(shù)據(jù)點(diǎn)的符號(hào),默認(rèn)為點(diǎn)。字符顏色字符顏色‘b’藍(lán)色‘g’綠色‘r’紅色‘c’青色‘m’品紅色‘y’黃色‘k’黑色‘w’白色字符線(xiàn)條樣式‘-’實(shí)線(xiàn)‘--’虛線(xiàn)‘-.’點(diǎn)劃線(xiàn)‘:’點(diǎn)線(xiàn)字符標(biāo)記類(lèi)型字符標(biāo)記類(lèi)型‘?!c(diǎn)‘,’像素‘o’圓圈‘v’下三角1‘^’上三角1‘<’左三角1‘>’右三角1‘1’下三角2‘2’上三角2‘3’左三角2‘4’右三角2‘s’正方形‘p’五角形‘*’星號(hào)‘h’六邊形樣式1‘H’六邊形樣式2‘+’加號(hào)‘x’X‘D’鉆石‘d’薄鉆石‘|’垂直線(xiàn)‘_’水平線(xiàn)7.3.1plt.plot()的使用1、基本使用Matplotlib的顏色Matplotlib的線(xiàn)條樣式Matplotlib標(biāo)記1、基本使用—參數(shù)設(shè)置實(shí)例7.3.1plt.plot()的使用[例7-8]設(shè)置plot繪圖特征實(shí)例。2、添加內(nèi)容
圖表主體內(nèi)容設(shè)置結(jié)束后,還可以設(shè)置或添加文本內(nèi)容。具體的添加內(nèi)容與所調(diào)用的函數(shù)具體見(jiàn)表。函數(shù)名稱(chēng)函數(shù)作用plt.title()在當(dāng)前圖形中添加標(biāo)題,可以指定標(biāo)題的名稱(chēng)、位置、顏色、字體大小等參數(shù)。plt.xlabel()在當(dāng)前圖形中添加x軸名稱(chēng),可以指定位置、顏色、字體大小等參數(shù)plt.ylabel()在當(dāng)前圖形中添加y軸名稱(chēng),可以指定位置、顏色、字體大小等參數(shù)plt.xlim()指定當(dāng)前圖形x軸的范圍,只能確定一個(gè)數(shù)值區(qū)間,而無(wú)法使用字符串標(biāo)識(shí)。plt.ylim()指定當(dāng)前圖形y軸的范圍,只能確定一個(gè)數(shù)值區(qū)間,而無(wú)法使用字符串標(biāo)識(shí)。plt.xticks()指定x軸刻度的數(shù)目與取值。plt.yticks()指定y軸刻度的數(shù)目與取值。plt.legend()指定當(dāng)前圖形的圖例,可以指定圖例的大小、位置、標(biāo)簽7.3.1plt.plot()的使用常用添加畫(huà)布內(nèi)容的函數(shù)說(shuō)明2、添加內(nèi)容—實(shí)例7.3.1plt.plot()的使用[例7-9]設(shè)置plot繪圖文本。2、添加內(nèi)容—實(shí)例7.3.1plt.plot()的使用[例7-10]為圖形添加注釋。代碼中的plt.annotate()函數(shù)有多個(gè)參數(shù)plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict)3、圖形的保存7.3.1plt.plot()的使用
圖形繪制完成后,可以使用plt.show()進(jìn)行顯示,也可以使用plt.savefig()將其保存,在該函數(shù)中可以設(shè)置保存路徑和文件名、圖片的分辨率、邊緣的顏色等參數(shù)。如果既要顯示又要保存,請(qǐng)注意要將plt.savefig()放在plt.show()之前。否則,在plt.show()后實(shí)際上已經(jīng)創(chuàng)建了一個(gè)新的空白的圖片,此時(shí)再用plt.savefig()就會(huì)保存這個(gè)生成的空白圖片。[例7-11]保存圖片。plt.savefig()函數(shù)中主要參數(shù)含義為:fname:含有文件路徑的字符串,拓展名指定文件類(lèi)型,如'png'、'pdf'、’svg'、'ps'、'jpg'等;dpi:分辨率,默認(rèn)100;facecolor:圖像的表面顏色,默認(rèn)為“auto”;bbox_inches:圖表需要保留的部分,如果設(shè)置為“tight”,則將嘗試剪除圖像周?chē)目瞻撞糠帧?.3.2子圖
在Matplotlib中,不僅可以在一張圖形中繪制多條曲線(xiàn),還可以將一張圖分成多個(gè)子圖進(jìn)行繪制。plt的subplot()方法參數(shù)可以是一個(gè)三位數(shù)字,例如121,也可以是一個(gè)數(shù)組,如[1,2,1]。其中第一個(gè)數(shù)字代表子圖總行數(shù),第二個(gè)數(shù)字代表子圖總列數(shù),第三個(gè)數(shù)字表示對(duì)應(yīng)圖像顯示的繪圖區(qū)域數(shù)?!窘忉屨f(shuō)明】:以plt.subplot(2,2,1)為例,它是指將繪圖區(qū)域分為2行2列4個(gè)區(qū)域,并在第一個(gè)區(qū)域內(nèi)作圖,其他同上。1. 使用matplotlib.pyplot.subplot()進(jìn)行設(shè)置子圖[例7-12]用plt的subplot()繪制子圖。
subplot()方法也可以設(shè)置不同大小的繪圖區(qū)域?!窘忉屨f(shuō)明】:對(duì)于第一圖而言,它是在2行1列的區(qū)域內(nèi)作圖,當(dāng)設(shè)置后續(xù)三張圖的位置時(shí),從編號(hào)4開(kāi)始,暗示圖一占據(jù)3列的寬度。7.3.2子圖1. 使用matplotlib.pyplot.subplot()進(jìn)行設(shè)置子圖[例7-13]使用subplot()設(shè)置不同大小的繪圖區(qū)域。7.3.2子圖
實(shí)際使用中可能會(huì)面臨更復(fù)雜的繪圖分隔區(qū)域,subplot()方法就不能很好地滿(mǎn)足需要,此時(shí)需要借助subplot2grid()方法。語(yǔ)法如下: plt.subplot2grid(GridSpec,CurSpec,colspan=num1,rowspan=num2)2. 使用matplotlib.pyplot.subplot2grid()設(shè)置復(fù)雜的繪圖分隔區(qū)域【解釋說(shuō)明】:創(chuàng)建第1個(gè)小圖,(3,3)表示將整個(gè)圖像窗口分成3行3列,(0,0)表示從第0行第0列開(kāi)始作圖,colspan=3表示列的跨度為3,行的跨度為缺省,默認(rèn)跨度為1;創(chuàng)建第2個(gè)小圖,(3,3)表示將整個(gè)圖像窗口分成3行3列,(1,0)表示從第1行第0列開(kāi)始作圖,colspan=2表示列的跨度為2。后續(xù)子圖同理。注意:可以使用subplots_adjust()調(diào)整子圖間的間距。7.3.2子圖2. 使用matplotlib.pyplot.subplot2grid()設(shè)置復(fù)雜的繪圖分隔區(qū)域[例7-14]設(shè)置復(fù)雜的繪圖分隔區(qū)域。7.3.2子圖3. 使用matplotlib.pyplot.subplots()函數(shù)來(lái)設(shè)置子圖
subplots()函數(shù),返回一個(gè)包含figure和axes對(duì)象的元組。因此,通常使用fig,ax=plt.subplots()將元組分解為fig和ax兩個(gè)變量。如果創(chuàng)建了多個(gè)子圖,則ax可以是一個(gè)Axes對(duì)象的數(shù)組。
例如,fig,ax=plt.subplots(m,n,figsize=(a,b))設(shè)置了m*n個(gè)大小為a*b的子圖,fig為圖像對(duì)象,ax為大小為m*n的axes數(shù)組。7.3.2子圖3. 使用matplotlib.pyplot.subplots()函數(shù)來(lái)設(shè)置子圖[例7-15]用subplots()函數(shù)設(shè)置子圖。7.3.2子圖4. 使用matplotlib.figure.Figure.add_subplot()來(lái)設(shè)置子圖
add_subplot()的參數(shù)與plt的subplot()類(lèi)似,可以是一個(gè)三位數(shù)字,例如121,也可以是一個(gè)數(shù)組,如[1,2,1]。其中第一個(gè)數(shù)字代表子圖總行數(shù),第二個(gè)數(shù)字代表子圖總列數(shù),第三個(gè)數(shù)字表示對(duì)應(yīng)圖像顯示的繪圖區(qū)域數(shù)。7.3.2子圖[例7-16]使用figure的add_subplot()設(shè)置子圖并標(biāo)號(hào)。4. 使用matplotlib.figure.Figure.add_subplot()來(lái)設(shè)置子圖7.3.2子圖[例7-17]使用figure的add_subplot()設(shè)置子圖。4. 使用matplotlib.figure.Figure.add_subplot()來(lái)設(shè)置子圖Pyplot中的常用圖形047.4Pyplot中的常用圖形
Matplotlib中提供了許多繪制圖形的函數(shù),包括簡(jiǎn)單的基礎(chǔ)統(tǒng)計(jì)圖形,如直方圖、氣泡圖、箱線(xiàn)圖等,也有一些高維度的立體圖形,如3D圖等。下表給出Pyplot常用的基礎(chǔ)圖像繪制函數(shù)。函數(shù)說(shuō)明Plt.plot(x,y,fmt,…)繪制作表態(tài)Plt.boxplot(data,notch,position)繪制箱型圖Plt.bar(left,height,width,bottom)繪制條形圖Plt.barh(width,bottom,left,height)繪制一個(gè)橫向條形圖Plt.polar(theta,r)繪制極坐標(biāo)圖Plt.pie(data,explode)繪制餅圖Plt.psd(x,NFFT=256,pad_to,Fs)繪制功率譜密度圖Plt.specgarm(x,NFFT=256,pad_to,Fs)繪制譜圖Plt.cohere(x,y,NFFT=256,Fs)繪制X-Y的相關(guān)性圖Plt.scatter(x,y)繪制散點(diǎn)圖,其中x和y長(zhǎng)度相同Plt.step(x,y,where)繪制步階圖Plt.hist(x,bins,normed)繪制直方圖Plt.contour(X,Y,Z,N)繪制等制圖Plt.vlines()繪制垂直圖Plt.stem(x,y,linefmt,markerfmt)繪制柴火圖Plt.plot_date()繪制數(shù)據(jù)日期7.4.1散點(diǎn)圖
散點(diǎn)圖的繪制依賴(lài)plt.scatter()函數(shù),該函數(shù)包含很多參數(shù),具體如下:S:點(diǎn)的大小C:點(diǎn)的顏色,取值可以為[‘b’,‘c’,‘g’,‘k’,‘m’,‘r’,‘w’,‘y’]Alpha:點(diǎn)的透明度,取值為0-1Marker:點(diǎn)的形狀,默認(rèn)狀態(tài)下為“o”,常見(jiàn)的還有[‘v’,‘>’,‘<’,‘*’,‘s’,‘p’,‘h’,‘x’,‘+’]。[例7-18]不設(shè)置參數(shù)繪制散點(diǎn)圖。1、不設(shè)置任何參數(shù)時(shí)調(diào)用7.4.1散點(diǎn)圖[例7-19]設(shè)置部分參數(shù)繪制散點(diǎn)圖。2、設(shè)置部分的參數(shù),優(yōu)化圖表7.4.1散點(diǎn)圖7.4.2柱狀圖
柱狀圖主要用于查看各分組數(shù)據(jù)的數(shù)量分布,以及各個(gè)分組數(shù)據(jù)之間的數(shù)量比較。
柱狀圖的繪制使用:
plt.bar(x,height,width,bottom=None,*,align='center',data=None,**kwargs)7.4.2柱狀圖[例7-20]繪制簡(jiǎn)單柱狀圖。如果把例子中的plt.bar()改為plt.barh(),其他參數(shù)不變,即可以繪制如右圖的水平柱狀圖。7.4.2柱狀圖[例7-21]柱狀圖頂部添加數(shù)據(jù)說(shuō)明。本例中在柱狀圖頂部添加上具體的數(shù)據(jù)說(shuō)明。7.4.3直方圖
直方圖的繪制依賴(lài)plt.hist(x,bins=bins,color=”b”,histtype=’bar’,label=’label’,rwidth=rwidth)函數(shù),具體各參數(shù)說(shuō)明如下: x:連續(xù)型數(shù)據(jù)的輸入值bins:用于確定柱體的個(gè)數(shù)或是柱體邊緣范圍color:柱體的顏色histtype:柱體類(lèi)型label:圖例內(nèi)容rwidth:柱體寬度[例7-22]繪制簡(jiǎn)單直方圖。7.4.3直方圖[例7-23]繪制堆積直方圖。當(dāng)參數(shù)stacked設(shè)置為False時(shí),也是默認(rèn)狀態(tài),則繪制并排放置的直方圖。7.4.4餅圖
餅圖的繪制依賴(lài)plt.pie(size,explode,labels,autopct,startangle,shadow,color)函數(shù),具體各參數(shù)說(shuō)明如下:size:各部分的百分比;explode:餅片邊緣偏離半徑的百分比,凸出率;labels:每部分餅片的文本標(biāo)簽;autopct:每部分餅片對(duì)應(yīng)數(shù)值的百分比樣式;startangle:第一個(gè)餅片逆時(shí)針旋轉(zhuǎn)的角度;shadow:是否繪制餅片的陰影;color:柱體的顏色。[例7-24]只給定數(shù)據(jù),繪制餅圖。[例7-25]設(shè)置參數(shù),繪制餅圖。7.4.4餅圖[例7-26]設(shè)置餅圖的參數(shù)explode,強(qiáng)調(diào)某幾部分餅片的可視性。7.4.4餅圖7.4.53D圖
Matplotlib還支持3維立體圖形的繪制。利用的函數(shù)分別是ax.plot_surface()和ax.scatter()函數(shù),前者常用來(lái)繪制三維面,而后者常用來(lái)繪制三維立體的點(diǎn)?!臼紫葘⒗L制3D圖形的模塊導(dǎo)入】[例7-28]定義數(shù)據(jù),繪制3D圖。[例7-27]繪制3D圖。本章實(shí)踐例題本章實(shí)踐例題[例7-29]matplotlib中常用參數(shù)設(shè)置實(shí)例。本例介紹了使用matplotlib.pyplot中的函數(shù)設(shè)置中文字體和字號(hào)、圖形的x和y軸范圍及文本標(biāo)簽等的方法。本章實(shí)踐例題[例7-30]使用matplotlib.axes.Axes.set()函數(shù)設(shè)置圖形屬性??梢允褂胢atplotlib.axes.Axes.set()函數(shù)一次性設(shè)置圖形屬性,如下例所示。本章實(shí)踐例題[例7-31]某地區(qū)2000-2017年的旅游數(shù)據(jù)分析與可視化。隨著人們生活水平的提升和時(shí)代的發(fā)展,旅游受到越來(lái)越多的人的喜愛(ài),將我國(guó)旅游業(yè)的發(fā)展推入新的時(shí)代。下面結(jié)合某地區(qū)2000-2017年的旅游人數(shù)與費(fèi)用分析國(guó)內(nèi)旅游業(yè)的發(fā)展。案例需求:以城鄉(xiāng)居民的旅游人數(shù)變化,結(jié)合所學(xué)的作圖工具,得出以下結(jié)論:旅游業(yè)的發(fā)展變化趨勢(shì)。數(shù)據(jù)準(zhǔn)備:該數(shù)據(jù)庫(kù)中收集了2000-2017年某地區(qū)有關(guān)旅游業(yè)的相關(guān)信息,并將其整理到名為T(mén)our的xlsx的文件中。具體數(shù)據(jù)見(jiàn)下表。本章實(shí)踐例題本章實(shí)踐例題[例7-31]某地區(qū)2000-2017年的旅游數(shù)據(jù)分析與可視化。案例實(shí)現(xiàn):從生成的折線(xiàn)圖可知,國(guó)內(nèi)某地區(qū)旅游總?cè)舜坞S年份呈現(xiàn)出明顯上升的趨勢(shì),可見(jiàn)旅游業(yè)的發(fā)展也一直處于高速發(fā)展的進(jìn)程中,圖中顯示城鎮(zhèn)居民國(guó)內(nèi)旅游人數(shù)的變化趨勢(shì)與總體趨勢(shì)大致相同,而農(nóng)村居民國(guó)內(nèi)旅游人次的增長(zhǎng)較為緩慢。由此也可見(jiàn)國(guó)內(nèi)旅游業(yè)的發(fā)展主要依賴(lài)于城鎮(zhèn)居民的旅游人次。此特點(diǎn)也可由其他的特征得出,讀者自行練習(xí)。本章實(shí)踐例題[例7-32]某高校3個(gè)專(zhuān)業(yè)高考入學(xué)分?jǐn)?shù)的可視化分析。案例需求:分別以折線(xiàn)圖和柱狀圖等形式,分析某高校計(jì)科、材料、物流專(zhuān)業(yè)學(xué)生的高考入學(xué)分?jǐn)?shù)情況。數(shù)據(jù)準(zhǔn)備:該數(shù)據(jù)集名為“gaokaofenshu.xlsx”,記錄了某高校計(jì)科、材料、物流三個(gè)專(zhuān)業(yè)的高考分?jǐn)?shù)。本章實(shí)踐例題[例7-32]某高校3個(gè)專(zhuān)業(yè)高考入學(xué)分?jǐn)?shù)的可視化分析。本章實(shí)踐例題[例7-33]Netflix電視節(jié)目和電影數(shù)據(jù)的可視化分析。案例需求:對(duì)于Netflix列出的電視節(jié)目和電影數(shù)據(jù)進(jìn)行可視化分析,該數(shù)據(jù)集包括截至2019年Netflix
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆福建省龍巖二中第五高考測(cè)評(píng)活動(dòng)高三元月調(diào)考數(shù)學(xué)試題
- 小班超市管理員教案
- 二零二五版保安勞務(wù)派遣協(xié)議
- 遼寧省兩校聯(lián)考2025年招生適應(yīng)性考試數(shù)學(xué)試題試卷
- 二零二五版企業(yè)員工培訓(xùn)協(xié)議書(shū)范文
- 研究生培養(yǎng)管理教育
- 二零二五留職停薪合同
- 工廠(chǎng)股權(quán)轉(zhuǎn)讓的協(xié)議書(shū)范例二零二五年
- 文藝演出服務(wù)合同文藝匯演合同
- 殘疾人就業(yè)協(xié)議書(shū)范例二零二五年
- 《系統(tǒng)思維解決問(wèn)題》
- 保安經(jīng)理工作計(jì)劃
- 2024中國(guó)一重集團(tuán)有限公司管理二級(jí)單位領(lǐng)導(dǎo)人員崗位招聘筆試參考題庫(kù)附帶答案詳解
- 《配網(wǎng)設(shè)備狀態(tài)檢修試驗(yàn)規(guī)程》
- 2024年度-網(wǎng)盤(pán)金融學(xué)(貨幣銀行學(xué))黃達(dá)pdf
- 環(huán)境內(nèi)分泌干擾物
- 三氧治療糖尿病足
- 醫(yī)療器械臨床試驗(yàn)三方協(xié)議模板
- 某煤業(yè)有限公司機(jī)電安裝工程竣工驗(yàn)收資料
- 生產(chǎn)性服務(wù)業(yè)行業(yè)特征
- 索道操作培訓(xùn)課件教學(xué)
評(píng)論
0/150
提交評(píng)論