今天我們來學(xué)習(xí)第三種畫子圖的方法闯第。
主要使用到的模塊是matplotlib.gridspec
學(xué)習(xí)過程請(qǐng)參考代碼里面的注釋:
全部代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : figure8.py
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec
plt.figure()
x=np.linspace(-5,5,50)
y=2*x+1
# 還是創(chuàng)建一個(gè)3x3網(wǎng)格布局嘉抒,并將這個(gè)變量賦值與gs,行和列的序號(hào)從0開始谆吴。
gs=gridspec.GridSpec(3,3)
# 采用plt.subplot()來繪制子圖。
# 傳入?yún)?shù)[0苛预,:],0代表第一行句狼,:在python里面表示全部。意思也就是說占全部3列热某。
pc1=plt.subplot(gs[0,:])
pc1.plot(x,y)
# 傳入?yún)?shù)[1,2],1代表第二行腻菇,2代表第三列。也就是這個(gè)子圖占的位置是兩行三列的位置昔馋。
pc2=plt.subplot(gs[1,2])
pc2.plot(x,y)
# 傳入?yún)?shù)[2,1],2代表第三行筹吐,1代表第二列。也就是這個(gè)子圖占的位置是三行兩列的位置秘遏。
pc3=plt.subplot(gs[2,1])
pc3.plot(x,y)
plt.show()
結(jié)果如下:
這里寫圖片描述
改變參數(shù)來畫圖試一下:
改變后的全部代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : figure8.py
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec
plt.figure()
x=np.linspace(-5,5,50)
y=2*x+1
# 還是創(chuàng)建一個(gè)3x3網(wǎng)格布局骏令,并將這個(gè)變量賦值與gs,行和列的序號(hào)從0開始垄提。
gs=gridspec.GridSpec(3,3)
# 采用plt.subplot()來繪制子圖榔袋。
# 傳入?yún)?shù)[0,:],0代表第一行铡俐,:在python里面表示全部凰兑。意思也就是說占全部3列。
pc1=plt.subplot(gs[0,:])
pc1.plot(x,y)
# 傳入?yún)?shù)[1,:2],1代表第二行审丘,: 2代表代表從第一列到第三列【不包含第三列】吏够。
# 也就是這個(gè)子圖占的位置是兩行前兩列的位置。
# 這和列表list的操作一樣滩报。
pc2=plt.subplot(gs[1,:2])
pc2.plot(x,y)
# 傳入?yún)?shù)[2,1],2代表第三行锅知,1代表第二列。也就是這個(gè)子圖占的位置是三行兩列的位置脓钾。
pc3=plt.subplot(gs[2,1])
pc3.plot(x,y)
plt.show()
結(jié)果如下:
這里寫圖片描述