在多个子图中绘图
可以通过多种方法在 Matplotlib 中创建多个子图。理解fig和axes变量的作用至关重要。
fig,axes结构
在代码片段fig,axes = plt.subplots(nrows=2 , ncols=2)、fig 和axes 分别分配给返回的figure 和Axes 对象的二维数组。轴数组包含各个子图,可以对特定子图进行后续绘图操作。
子图的替代方法
虽然 subplots 方法同时创建一个图形及其子图,但它是也可以单独创建:
fig = plt.figure() axes = fig.subplots(nrows=2, ncols=2)
但是这种方法比较少首选,因为它需要额外的步骤来在每个子图上绘制。
具有多个子图的示例
考虑以下代码,该代码在四个子图的每一个上绘制一条简单曲线:
import matplotlib.pyplot as plt x = range(10) y = range(10) fig, ax = plt.subplots(nrows=2, ncols=2) for row in ax: for col in row: col.plot(x, y) plt.show()
此代码生成一个包含四个子图的图形,每个子图都有相同的曲线。 for 循环迭代 ax 数组的行和列,将每个子图分配给 col 变量进行绘图。
另一种替代方法
虽然不那么优雅,还可以手动创建并分别在每个子图上绘制:
fig = plt.figure() plt.subplot(2, 2, 1) plt.plot(x, y) plt.subplot(2, 2, 2) plt.plot(x, y) plt.subplot(2, 2, 3) plt.plot(x, y) plt.subplot(2, 2, 4) plt.plot(x, y) plt.show()
这种方法涉及手动创建一个图形指定每个子图的位置,然后在它们上绘图。
以上是如何在多个 Matplotlib 子图中高效地创建和绘图?的详细内容。更多信息请关注PHP中文网其他相关文章!