首页 > 解决方案 > 使用 matplotlib.pyplot 中的 subplots 命令对图形窗口进行编号

问题描述

在 matplotlib.pyplot 中使用命令中的子图时,有没有办法对图形进行编号?当我想在图中有一个情节时,我可以使用

import matplotlib.pyplot as plt
plt.figure(2)
plot(x,y)

这将创建图 2 并在其中绘制图。但是,在使用子图时我不能这样做

plt.figure(3)
f, ax = plt.subplots(1,2)
ax[0].plot(x,y)

这基本上显示了一个新的图 3,然后是另一个图 4,其中包含子图。我想给有子图的那个编号。

提前致谢。

标签: pythonmatplotlibplotsubplotfigure

解决方案


打电话后,plt.show()您不能再绘制这些数字(除非并且直到您处于某些交互式会话中(?))。所以让我们假设你没有调用 plt.show()。在这种情况下,您可以通过图(1)重新激活第一个图。

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(1, figsize=(10,4))
fig.suptitle('First figure instance')

输出图像

现在让我们使用下面的代码创建第二个图,

plt.figure(2, figsize=(10,5))
plt.subplot(1, 2, 1)
plt.plot(np.random.rand(3,2))
plt.subplot(1, 2, 2)
plt.plot(np.random.rand(3,2))
plt.suptitle('second plot')

sub1 = fig.add_subplot(221)
plt.plot(np.random.rand(3,2))
sub2 = fig.add_subplot(224)
plt.plot(np.random.rand(3,2))
plt.show()

输出图像2


推荐阅读