栅格布局
import matplotlib.pyplot as plt import numpy as np plt.figure("OBJ") x = np.linspace(-np.pi, np.pi, 1000) cosy = np.cos(x) siny = np.sin(x) y = x * 0.5 timesy = x ** 2 # 创建九宫格 gs = plt.GridSpec(3, 3) # 第0-1行,第2列 plt.subplot(gs[0:2, 2:]) plt.plot(x, cosy) # 第0行, 第0-1列 plt.subplot(gs[0, 0:2]) plt.plot(x, siny, linestyle=':') # 第1-2行 , 第0列 plt.subplot(gs[1:, 0]) plt.plot(x, y, linestyle=':') # 第2行 , 第1-2列 plt.subplot(gs[2:, 1:3]) plt.plot(x, timesy, linestyle=':') # 第1行, 第1列 plt.subplot(gs[1:2, 1:2]) plt.plot(x, timesy, linestyle='--') plt.show()
子图布局
import matplotlib.pyplot as plt plt.figure(facecolor='skyblue') for i in range(1, 7): # 横2, 纵3, 第I个 plt.subplot(2, 3, i) plt.show()
自由布局
import matplotlib.pyplot as plt import numpy as np x = np.arange(1, 2000) y = x ** 2 plt.figure("boj-1", facecolor='gray') plt.axes([0.03, 0.038, 0.94, 0.924]) plt.plot(x, y) # 左下角水平坐标, 左下角垂直, 宽度,高度 plt.axes([0.63, 0.3, 0.31, 0.308]) plt.show()