我正在使用Python的Matplotlib库使用contour和contourf函数来绘制一些等高线图。在使用show时,它们都可以正常工作,但是当我尝试在方法内部使用draw()时,虽然可以打开Matplotlib窗口,但没有图形显示。show()调用将在代码的后面和不同的方法中执行,并且我希望在完成draw()时立即显示一个图形,而不必等待较晚的show()。我做错了什么?
谢谢。
谢谢。
您是否已经使用ion()
打开了交互模式?以下内容适用于我在OSX上使用Tk后端并从shell命令行运行:
import matplotlib.pyplot as plt
plt.ion()
plt.figure()
for i in range(10):
plt.plot([i], [i], 'o')
plt.draw()
raw_input("done >>")
也就是说,每次循环时都会看到图形发生变化(即重新绘制),因为每添加一个点,图形就会发生变化。另外,如果我调用plt.ioff()
,则不会看到任何图像或更新。
如果我没记错,你应该可以多次调用fig.show()。此外,尝试使用ipython(ipython -pylab
)并查看http://matplotlib.sourceforge.net/users/shell.html