1. 在matplotlib中,我最常用
plt.figure(figsize=(a,b))
其中,a,b為畫布的寬和高
2. 如果是要畫多個子圖這樣的形式,我一般使用
也就是使用
plt.figure(figsize=(60,13)) plt.subplot(121) # 1行2列,第1個圖,只能創建一個圖 plt.subplot(122) # 1行2列,第2個圖,只能創建一個圖
畫出的圖如下:
3. 現在我見到這樣的形式(創建多個子圖):
fig, ax = plt.subplots(figsize = (a, b))
和之前的啥關系?
fig代表繪圖窗口(Figure);ax代表這個繪圖窗口上的坐標系(axis),一般會繼續對ax進行操作。
fig, ax = plt.subplots()
等價於: fig = plt.figure() ax = fig.add_subplot(1, 1, 1)
例如:
fig, ax = plt.subplots(1,3)
其中1,3表示1行3列的子圖,一共1*3個子圖像。也就是函數返回一個figure圖像和子圖ax的array列表。
如果想設置子圖的寬和高可以加入參數figsize
fig, ax = plt.subplots(1,3,figsize=(15,7))
舉例:
換用plt,subplot()
面向對象API:add_subplots和add_axes新增子圖或者區域
add_subplot與add_axes都是面對象figure編程的,pyplot api中沒有此命令
梳理下概念
matplotlib的圖形繪制是面向對象封裝的,matplotlib是由多個Figure對象構成,每個Figure對象包含多個子圖對象Axes(Axes中還默認包含兩個Axis對象,一個表示x軸,一個表示y軸).在Axes中包含多個Artist對象