关于处理子图的布局

时间:2012-10-27 08:42:11

标签: python matplotlib

我刚刚阅读了对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(...),如果我创建了多个数字,那么该子图是否已经开启?

2 个答案:

答案 0 :(得分: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()

希望这有帮助。

答案 1 :(得分:1)

有两种模型可与matplotlibstate machine interface(plt。*)和OOP模型进行互动(代理figureaxes,等等)。状态机界面模仿matlab,对于快速交互式会话非常有用,但是如果你要做任何有问题的事情,那么使用OOP接口要好得多。混合两者可以导致to problems