Matplotlib Subplots
绘制多个图表
您可以使用 subplots() 函数在一个图形中进行多个绘图:
实例
绘制两个图表:
import sysimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.show()plt.savefig(sys.stdout.buffer)sys.stdout.flush()
结果:

subplots() 函数
subplots() 函数采用三个参数来指定图形的布局。
按行和列来进行布局,由 第一 和 第二 个参数表示。
第三个参数表示当前绘图的索引。
因此,如果我们想要一个 2 行 1 列的图形(这意味着两个图将显示在彼此的顶部而不是并排),我们可以编写如下语法:
实例
在每个图的顶部绘制两个图:
import sysimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 1, 1)plt.plot(x,y)#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 1, 2)plt.plot(x,y)plt.show()#Two lines to make our compiler able to draw:plt.savefig(sys.stdout.buffer)sys.stdout.flush()
结果:

您可以在一个图形上绘制任意多个绘图,只需指定绘图的 row(行数)、column(列数)和 index(索引)即可。
实例
绘制6个图形:
import sysimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport numpy as npx = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 1)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 2)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 3)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 4)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(2, 3, 5)plt.plot(x,y)x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(2, 3, 6)plt.plot(x,y)plt.show()plt.savefig(sys.stdout.buffer)sys.stdout.flush()
结果:

标题
可以使用 title() 函数为每个绘图添加标题 :
实例
2 个带标题的绘图:
import sysimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)plt.title("SALES")#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.title("INCOME")plt.show()plt.savefig(sys.stdout.buffer)sys.stdout.flush()
结果:

超级标题
您可以使用 suptitle() 函数来为整个图形添加一个标题:
实例
为整个图形添加一个标题:
import sysimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport numpy as np#plot 1:x = np.array([0, 1, 2, 3])y = np.array([3, 8, 1, 10])plt.subplot(1, 2, 1)plt.plot(x,y)plt.title("SALES")#plot 2:x = np.array([0, 1, 2, 3])y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)plt.plot(x,y)plt.title("INCOME")plt.suptitle("MY SHOP")plt.show()plt.savefig(sys.stdout.buffer)sys.stdout.flush()
结果:
