如何理解subplot绘制不规则子图的参数设置
生活随笔
收集整理的這篇文章主要介紹了
如何理解subplot绘制不规则子图的参数设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在matplotlib下,一個Figure對象可以包含多個子圖(Axes),可以使用subplot()快速繪制,其調用形式如下
subplot(numRows, numCols, plotNum)- 圖表的整個繪圖區域被分成numRows行和numCols列
- 然后按照從左到右,從上到下的順序對每個子區域進行編號,左上的子區域的編號為1
- plotNum?參數指定創建的?Axes?對象所在的區域
規則劃分
先看一種2*2的規則劃分:
import matplotlib import matplotlib.pyplot as pltif __name__ == '__main__':for i,color in enumerate("rgby"):plt.subplot(221+i, axisbg=color)plt.show()plt.subplot(221+i)等價于plt.subplot(221);plt.subplot(222);plt.subplot(223);plt.subplot(224)
結果如下:
3*3
這個很好理解。首先將figure分成2行2列,一共有4個子圖,紅色的子圖標號為1,綠色的子圖標號為2,藍色的子圖標號為3,黃色的子圖標號為4。
不規則劃分
那么再來看看兩個不規則的示例:
1.
import numpy as np import matplotlib.pyplot as plt # 分成2x2,占用第一個,即第一行第一列的子圖 plt.subplot(221) # 分成2x2,占用第二個,即第一行第二列的子圖 plt.subplot(222) # 分成2x1,占用第二個,即第二行 plt.subplot(212) plt.show()結果如下:
不規則的
2.?
import numpy as np import matplotlib.pyplot as pltplt.subplot(211)plt.subplot(234)plt.subplot(235) plt.subplot(236) plt.show()結果如下:
不規則的
?
如何理解這些不規則的劃分呢???
以第二個不規則子圖的繪制作為示例來講解:
plt.subplot(211)該語句表示將整個figure分成2行列,該子圖占據第一列,因為總共才一列,也就是一整行。
plt.subplot(234)這個語句將整個figure分成2行3列,但是前面不是已經分成兩行一列了嗎,這里怎么又說分成兩行三列呢??看一下第三個參數就能明白了,第三個參數值為4,表示在第4個區域,那么這句就可以解釋為,不管前面是將figure怎么分的,我們現在重新將整個figure分成兩行三列,該子圖占據第四個位置,第四個位置也就是第二行第一列了。由于重新將figure分成兩行三列,那么第一行的子圖就占據3列了。正好3+1=4。
plt.subplot(235)該子圖位于第二行第二列,3+2=5。
plt.subplot(236)該子圖位于第二行第三列,3+3=6。
?
總結
以上是生活随笔為你收集整理的如何理解subplot绘制不规则子图的参数设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matplotlib练习
- 下一篇: matplotlib各个部分