欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

matplotlib圖形整合之多個子圖繪制的實例代碼

 更新時間:2022年04月13日 10:59:04   作者:王小王-123  
matplotlib繪制多個子圖的時候,我們可以根據自己的想法去排列子圖的順序,也可以生成不同的子圖數量,本文就詳細的介紹了matplotlib 多子圖繪制,具有一定的參考價值,感興趣的可以了解一下

簡單了解多子圖

學習matplotlib的時候,有人肯定會覺得為啥不用Excel,為啥不用origin,為啥不直接使用軟件,其實matplotlib繪圖之所以在python領域經久不衰,是有它的獨特之處的,我認為這其中的一個亮點就是,matplotlib繪制多個子圖的時候,我們可以根據自己的想法去排列子圖的順序,也可以生成不同的子圖數量,類似于前端web可視化大屏,有著較好的用戶體驗感!

使用plt.subplot(mnx) 分別繪制

# -*- coding: utf-8 -*-
 
import matplotlib as mpl
import matplotlib.pyplot as plt
 
t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
plt.subplot(2,2,1) #要生成兩行兩列,這是第一個圖
plt.plot(t,s,'b*')
plt.ylabel('y1')
plt.subplot(2,2,2) #兩行兩列,這是第二個圖
plt.plot(2*t,s,'r--')
plt.ylabel('y2')
plt.subplot(2,2,3)#兩行兩列,這是第三個圖
plt.plot(3*t,s,'m--')
plt.ylabel('y3')
plt.subplot(2,2,4)#兩行兩列,這是第四個圖
plt.plot(4*t,s,'k*')
plt.ylabel('y4')
plt.show()

使用plt.subplot()方法,生成子圖,規(guī)則總結如下:

第一個數字是行,第二個數字是列,第三個數字是個數(圖形所處順序的序號)

例如:224就是生成兩行兩列的子圖,本圖形是第四個,那么就是第二行第二列的圖形

那么有時候,有些人覺得這樣太麻煩了,每次生成都要在繪圖程序前面加一行這樣的代碼,為什么不可以一次性生成我需要的畫布呢?答案是可以的!

使用plt.subplots(m,n),可以一次性生成m行n列的字圖

注意前面需要figure和ax進行接收

調用就和我們數組一樣!

使用plt.subplots(m,n)一次性繪制

# -*- coding: utf-8 -*-
import matplotlib as mpl
import matplotlib.pyplot as plt
 
t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
c=np.cos(t*np.pi)
figure,ax=plt.subplots(2,2) # 多行subplots得到的ax數組是二維的
ax[0][0].plot(t,s,'r*')
ax[0][1].plot(t*2,s,'b--')
ax[1][0].plot(t,c,'g*')
ax[1][1].plot(t*2,c,'y--')

# -*- coding: utf-8 -*-
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
 
t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
c=np.cos(t*np.pi)
figure,ax=plt.subplots(1,2,figsize=(6,2),dpi=120)  # 一行subplots得到的ax數組是一維的
ax[0].plot(t,s,'r*')
ax[1].plot(t*2,s,'b--')
 plt.subplots(nrows=1,ncols=3,figsize=(5,5))
#plt.subplots(nrows=1,ncols=3)
# 返回一個figure對象,和一個axesSubplot子圖對象的數組
# 行或者列等于1,返回一個一維數組

加一個plt.tight_layout()會使得圖形更加緊湊

plt.tight_layout()
plt.subplots(nrows=2,ncols=3, figsize=(12,8))  # 如果行列都不為1,那么返回一個2維數組

plt.subplots(nrows=3,ncols=4) # 如果行和列都大于1,返回1個Figure對象,和1個包含3*4=12個子圖對象的矩陣(2維數組)
# 341      342      343      344
# 345      346      347      348
# 349      3,4,10   3,4,11   3,4,12

高級進階

plt.subplot(121)
plt.subplot(222)
plt.subplot(224)

看到上面你會想到什么?會生成怎樣的畫布呢?

下面我就給大家詳細的解釋一下,為啥會出現(xiàn)這樣的畫布,首先我的需求是在左邊出現(xiàn)一個子圖,比較長的,最好是右邊兩個子圖的長度和,那么應該怎么做呢?遇到這樣的情況我們仍然需要把這一個平面分成均等分,那么也就是四個。

當我們畫一個左邊的圖的時候,我們應該把畫布想象為一行兩列的畫布,第一個自然也就是121

當我們畫右邊的圖形的時候,我們應該把畫布想象為兩行兩列的畫布,右邊第一個自然就是222,第二個自然就是224。

下面我們可以多看幾個,來驗證我們得推論

plt.subplot(221)
plt.subplot(223)
plt.subplot(122)

plt.subplot(211)
plt.subplot(223)
plt.subplot(224)

plt.subplot(221)
plt.subplot(222)
plt.subplot(212)

plt.figure(figsize=(12,5))
plt.subplot(231)
plt.subplot(233)
plt.subplot(234)
plt.subplot(236)
plt.subplot(132)

plt.figure(figsize=(16,5))
plt.subplot(262)
plt.subplot(265)
plt.subplot(268)
plt.subplot(2,6,11)
plt.subplot(132)

注意這個間隙是自動產生的,如果需要將間隙變的更大,那么就可以取最左邊的值和最右邊的值

plt.figure(figsize=(16,5))
plt.subplot(241)
plt.subplot(244)
plt.subplot(245)
plt.subplot(2,4,8)
plt.subplot(132)

 總結

在生成上面案例的時候,我們需要利用Excel進行編排,不然很容易出錯的!

到此這篇關于matplotlib圖形整合之多個子圖繪制的實例代碼的文章就介紹到這了,更多相關matplotlib 多子圖繪制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python腳本實現(xiàn)代碼行數統(tǒng)計代碼分享

    Python腳本實現(xiàn)代碼行數統(tǒng)計代碼分享

    這篇文章主要介紹了Python腳本實現(xiàn)代碼行數統(tǒng)計代碼分享,本文給出了實現(xiàn)代碼和使用方法及統(tǒng)計效果,需要的朋友可以參考下
    2015-03-03
  • 使用python實現(xiàn)接口的方法

    使用python實現(xiàn)接口的方法

    接口只是定義了一些方法,而沒有去實現(xiàn),多用于程序設計時,只是設計需要有什么樣的功能,但是并沒有實現(xiàn)任何功能,這些功能需要被另一個類(B)繼承后,由 類B去實現(xiàn)其中的某個功能或全部功能。
    2017-07-07
  • python通過urllib2爬網頁上種子下載示例

    python通過urllib2爬網頁上種子下載示例

    這篇文章主要介紹了通過urllib2、re模塊抓種子下載的示例,需要的朋友可以參考下
    2014-02-02
  • 讓python在hadoop上跑起來

    讓python在hadoop上跑起來

    讓python在hadoop上跑起來,python如何在hadoop上跑起來?感興趣的小伙伴們可以參考一下
    2016-01-01
  • 詳解使用Python+Pycaret進行異常檢測

    詳解使用Python+Pycaret進行異常檢測

    異常檢測提供了在數據中發(fā)現(xiàn)模式、偏差和異常的途徑,這些模式、偏差和異常不限于模型的標準行為。本文將用Python?Pycaret進行異常檢測,感興趣的可以了解一下
    2022-03-03
  • python魔法方法-自定義序列詳解

    python魔法方法-自定義序列詳解

    下面小編就為大家?guī)硪黄猵ython魔法方法-自定義序列詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Python實現(xiàn)隨機森林RF模型超參數的優(yōu)化詳解

    Python實現(xiàn)隨機森林RF模型超參數的優(yōu)化詳解

    這篇文章主要為大家詳細介紹了基于Python的隨機森林(Random Forest,RF)回歸代碼,以及模型超參數(包括決策樹個數與最大深度、最小分離樣本數、最小葉子節(jié)點樣本數、最大分離特征數等)自動優(yōu)化的代碼,感興趣的小伙伴可以了解一下
    2023-02-02
  • python3從網絡攝像機解析mjpeg http流的示例

    python3從網絡攝像機解析mjpeg http流的示例

    這篇文章主要介紹了python3從網絡攝像機解析mjpeg http流的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python如何把不同類型數據的json序列化

    Python如何把不同類型數據的json序列化

    這篇文章主要介紹了Python如何把不同類型數據的json序列化,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04
  • 分享Python獲取本機IP地址的幾種方法

    分享Python獲取本機IP地址的幾種方法

    這篇文章主要介紹了分享Python獲取本機IP地址的幾種方法,分享了使用專用網站、使用自帶socket庫、使用第三方netifaces庫等方式們需要的小伙伴可以參考一下
    2022-03-03

最新評論