1

我刚刚阅读了subplot2grid http://matplotlib.org/users/gridspec.html的介绍

我不明白为什么它被用作

fig = plt.figure()
plt.subplot2grid((2,2),(0, 0))

而不是

fig = plt.figure()
fig.subplot2grid((2,2),(0, 0))

通过plt.subplot2grid(...),如果我创建了多个图形,子图在哪个图形上?

4

2 回答 2

1

plt.*函数作用于当前图形。要获得当前的数字,你可以做

fig = plt.gcf()

所以,在你的第二种情况下,你可以这样做:

# Add subplots to the current figure
plt.subplot2grid((2, 2), (0, 0))

# Get the current figure. This will hold the subplots created in the previous command
fig = plt.gcf()

希望这可以帮助。

于 2012-10-27T09:46:11.393 回答
1

有两种用于与 交互的模型matplotlib状态机接口(plt.*) 和OOP模型(作用于figureoraxes等​​)。状态机接口模仿 matlab,对于快速进行交互式会话非常有用,但是如果您打算做任何有问题的事情,使用 OOP 接口会更好。将两者混合会导致问题

于 2012-10-27T13:23:58.780 回答