文章作者:Tyan
部落格:noahsnail.com | CSDN | 簡書
本文主要使用matplotlib進行多圖的繪製。 Demo 1
import matplotlib.pyplot as plt# 定義figureplt.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 pltimport matplotlib.gridspec as gridspec# 定義figureplt.figure()# 分隔figuregs = 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# 劃分figurefig, ((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()
結果
參考資料 https://www.youtube.com/user/MorvanZhou