日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python中常用的可視化工具M(jìn)atplotlib簡單入門

Matplotlib是一個(gè)Python 2D繪圖庫和一些基本的3D圖表,可以生成各種格式圖片。Matplotlib可用于Python腳本,Python shell,Jupyter筆記本,Web應(yīng)用程序服務(wù)器等等。

創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|網(wǎng)頁維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都發(fā)電機(jī)回收等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。

Matplotlib是約翰·亨特(John Hunter,1968-2012)的心血結(jié)晶,他和許多貢獻(xiàn)者一起投入了不可估量的時(shí)間和精力來制作一套全球數(shù)千名科學(xué)家使用的軟件。

查看Matplotlib 版本

 
 
 
  1. >>> import matplotlib 
  2.  
  3. >>> matplotlib.__version__ 
  4.  
  5. '3.0.3' 

在Python 中調(diào)用Matplotlib,通常使用 import matplotlib.pyplot 調(diào)用Matplotlib 集成的快速繪圖 pyplot模塊。

Figure(整個(gè)圖像)

在任何繪圖之前,需要一個(gè)Figure對(duì)象,可以理解成需要一張畫板才能開始繪圖。

 
 
 
  1. import matplotlib.pyplot as plt 
  2.  
  3. fig = plt.figure() 

在Matplotlib中,整個(gè)圖像為一個(gè)Figure 對(duì)象。Figure對(duì)象中可以包含一個(gè)或者多個(gè)Axes對(duì)象,每個(gè)Axes 對(duì)象都是一個(gè)擁有自己坐標(biāo)系統(tǒng)的繪圖區(qū)域。

Axes(軸線)

在擁有Figure對(duì)象之后,在作畫前還需要軸,沒有軸的話就沒有繪圖基準(zhǔn),所以需要添加Axes。也可以理解成為真正可以作畫的紙。

 
 
 
  1. ax = fig.add_subplot(111) 
  2.  
  3. ax.set(xlim=[0, 5], ylim=[0, 6], title='An Example Axes', 
  4.  
  5. ylabel='Y-Axis', xlabel='X-Axis') 
  6.  
  7. plt.show() 

上述代碼,在一幅圖上添加了一個(gè)Axes,然后設(shè)置了這個(gè)Axes的X軸以及Y軸的取值范圍,以及一些文本信息。效果如下:

Matplotlib下, 一個(gè) Figure 對(duì)象可以包含多個(gè)子圖(Axes),可以使用 subplot() 快速繪制,其調(diào)用形式如下 :

 
 
 
  1. subplot(numRows, numCols, plotNum) 
  • 圖表的整個(gè)繪圖區(qū)域被分成 numRows 行和 numCols 列;
  • 然后按照從左到右,從上到下的順序?qū)γ總€(gè)子區(qū)域進(jìn)行編號(hào),左上的子區(qū)域的編號(hào)為1;
  • plotNum 參數(shù)指定創(chuàng)建的 Axes 對(duì)象所在的區(qū)域;

對(duì)于上面的fig.add_subplot(111)就是添加Axes的,參數(shù)的解釋的在畫板的第1行第1列的***個(gè)位置生成一個(gè)Axes對(duì)象來準(zhǔn)備作畫。

也可以通過fig.add_subplot(2, 2, 1)的方式生成Axes,前面兩個(gè)參數(shù)確定了面板的劃分。

如果 numRows, numCols 和 plotNum 這三個(gè)數(shù)都小于 10 的話, 可以把它們縮寫為一個(gè)整數(shù), 例如 subplot(221) 和 subplot(2,2,1) 是相同的。

subplot 在 plotNum 指定的區(qū)域中創(chuàng)建一個(gè)軸對(duì)象。如果新創(chuàng)建的軸和之前創(chuàng)建的軸重疊的話,之前的軸將被刪除。

Multiple Axes 多個(gè)子圖

下面的一次性生成所有 Axes:

簡單總結(jié)一下

  • 在最頂層的是畫布,稱之為figure;
  • 在畫布上可以在不同的區(qū)域上繪制,這些區(qū)域稱之為subplot;

每一個(gè)子圖區(qū)域,又可以做如下劃分:

  • axis 也就是x,y坐標(biāo)軸;
  • tick 也就是每一個(gè)坐標(biāo)軸的刻度;
  • label 也就是坐標(biāo)軸上的標(biāo)簽;
  • title 也就是每一個(gè)子圖的標(biāo)題;
  • data 是輸入的數(shù)據(jù)繪制出的圖像;

Matplotlib 繪圖演示代碼

將這個(gè)圖像劃分成8個(gè)子區(qū)域,每個(gè)子區(qū)域繪制一個(gè)不同的圖像。

 
 
 
  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3. x=[1,2,3,4]  
  4. y=[3,5,10,25]  
  5. # 創(chuàng)建子圖  
  6. plt.subplot(241)  
  7. plt.plot(x,y)  
  8. plt.title("plot")  
  9. plt.subplot(242)  
  10. plt.scatter(x, y)  
  11. plt.title("scatter")  
  12. plt.subplot(243)  
  13. plt.pie(y)  
  14. plt.title("pie")  
  15. plt.subplot(244)  
  16. plt.bar(x, y)  
  17. plt.title("bar")  
  18. plt.subplot(245)  
  19. plt.boxplot(y, sym="o")  
  20. plt.title("box")  
  21. # sin/cos 圖像  
  22. plt.subplot(246)  
  23. x = np.linspace(0, np.pi)  
  24. y_sin = np.sin(x)  
  25. y_cos = np.cos(x)  
  26. plt.plot(x, y_sin)  
  27. plt.plot(x, y_cos)  
  28. # g-- 設(shè)置線條樣式和顏色  
  29. plt.subplot(247)  
  30. plt.plot(x, y_sin, 'g--')  
  31. plt.title("sin")  
  32. # 加載本地圖片  
  33. import matplotlib.image as mpimg  
  34. img=mpimg.imread('666.jpg')  
  35. plt.subplot(248)  
  36. plt.imshow(img)  
  37. plt.title("cool...") 
  38.  plt.show() 

分享文章:Python中常用的可視化工具M(jìn)atplotlib簡單入門
網(wǎng)頁地址:http://m.5511xx.com/article/ccsseep.html