Matplotlib:如何设置当前数字?

时间:2011-11-02 19:57:18

标签: python matplotlib

希望这是一个简单的问题,但我现在无法弄明白。我想使用matplotlib来显示2个数字,然后以交互方式使用它们。我创建了数字:

import matplotlib
import pylab as pl

f1 = pl.figure()
f2 = pl.figure()

并且可以使用类似MATLAB的pyplot接口绘制和绘制两个图形。随着

current_figure = pl.gcf()

我可以确定pyplot界面的当前活动数字,具体取决于我点击的数字。现在我想用pyplot接口绘制第一个数字,但当前数字可以是其中之一。那么有什么像

pl.set_current_figure(figure)

或任何解决方法? (我知道我可以使用面向对象的界面,但对于只使用plot(x,y)等命令的交互式东西更好)

2 个答案:

答案 0 :(得分:75)

您只需将数字f1设置为新的当前数字:

pl.figure(f1.number)

另一种选择是给图形命名(或数字),这可能有助于使代码更容易阅读:

pl.figure("Share values")
# ... some plots ...
pl.figure("Profits")
# ... some plots ...

pl.figure("Share values")  # Selects the first figure again

事实上,数字“数字”可以是字符串,可以说比简单数字更明确。

PS :等效于pylab.figure()的pyplot为matplotlib.pyplot.figure()

答案 1 :(得分:14)

给每个数字一个数字:

f1 = pl.figure(1)
f2 = pl.figure(2)
# use f2
pl.figure(1) # make f1 active again