1. 程式人生 > >matplotlib的基本用法(十三)——figure繪製多圖

matplotlib的基本用法(十三)——figure繪製多圖

文章作者:Tyan
部落格:noahsnail.com  |  CSDN  |  簡書

本文主要使用matplotlib進行多圖的繪製。

  • Demo 1
import matplotlib.pyplot as plt

# 定義figure
plt.figure()
# figure分成3行3列, 取得第一個子圖的控制代碼, 第一個子圖跨度為1行3列, 起點是表格(0, 0)
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan = 3, rowspan = 1)
ax1.plot([0, 1], [0, 1])
ax1.set_title('Test'
) # figure分成3行3列, 取得第二個子圖的控制代碼, 第二個子圖跨度為1行3列, 起點是表格(1, 0) ax2 = plt.subplot2grid((3, 3), (1, 0), colspan = 2, rowspan = 1) ax2.plot([0, 1], [0, 1]) # figure分成3行3列, 取得第三個子圖的控制代碼, 第三個子圖跨度為1行1列, 起點是表格(1, 2) ax3 = plt.subplot2grid((3, 3), (1, 2), colspan = 1, rowspan = 1) ax3.plot([0, 1], [0, 1]) # figure分成3行3列, 取得第四個子圖的控制代碼, 第四個子圖跨度為1行3列, 起點是表格(2, 0)
ax4 = plt.subplot2grid((3, 3), (2, 0), colspan = 3, rowspan = 1) ax4.plot([0, 1], [0, 1]) plt.show()
  • 結果

影象

  • Demo 2
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

# 定義figure
plt.figure()
# 分隔figure
gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1
, 0:2]) ax3 = plt.subplot(gs[1, 2]) ax4 = plt.subplot(gs[2, :]) # 繪製圖像 ax1.plot([0, 1], [0, 1]) ax1.set_title('Test') ax2.plot([0, 1], [0, 1]) ax3.plot([0, 1], [0, 1]) ax4.plot([0, 1], [0, 1]) plt.show()
  • 結果

影象

  • Demo 3
import matplotlib.pyplot as plt

# 劃分figure
fig, ((ax11, ax12), (ax21, ax22)) = plt.subplots(2, 2, sharex = True, sharey = True)

# 繪製圖像
ax11.scatter([0, 0.5], [0, 1])
ax12.scatter([0, 1], [0, 1])
ax21.scatter([0, 1], [0, -1])
ax22.scatter([0, -1], [0, 1])
plt.show()
  • 結果

影象

參考資料