Python Matplotlib-强制在脚本中显示
这与几年前另一个人提出的一个问题密切相关: 我正在MacOSX 10.8.5上使用Canopy 1.5.5,matplotlib 1.4.3 我将需要加载数据,查看它,按enter键批准并移动到下一个数据集(并且这样做几千次,因此获得此功能非常关键)。这是我的MWE:Python Matplotlib-强制在脚本中显示,python,matplotlib,Python,Matplotlib,这与几年前另一个人提出的一个问题密切相关: 我正在MacOSX 10.8.5上使用Canopy 1.5.5,matplotlib 1.4.3 我将需要加载数据,查看它,按enter键批准并移动到下一个数据集(并且这样做几千次,因此获得此功能非常关键)。这是我的MWE: import numpy as np from matplotlib import pyplot as plt plt.ion() plt.figure() ind=np.arange(5) for i in ind:
import numpy as np
from matplotlib import pyplot as plt
plt.ion()
plt.figure()
ind=np.arange(5)
for i in ind:
plt.clf()
plt.scatter(ind,ind+i)
plt.title('this is plot number %i' % i)
plt.show()
u=raw_input("Press any button")
代码似乎做了所有的事情,除了实际向我展示情节。如果我完成脚本(或中断脚本),那么我将看到当前的图形
我已经尝试了前面答案中的所有内容:有和没有交互模式,有和没有plt.show(block=False),plt.draw和plt.show的每个排列,以及我可用列表中的每个后端
这似乎是一个非常基本的功能!请告诉我这是可以做到的。我觉得奇怪的是matplolib在这里说“默认情况下,绘图会推迟到脚本结束”,但没有关于如何覆盖默认值的建议。请帮忙 您的示例适用于我(我的后端是osx),尽管figure窗口最初出现在其他窗口的后面。我需要使用alt tab将其提升到前面
尝试使用IPython的--matplotlib
选项启动脚本。您可以选择一个后端或让它自动检测,如下所示:ipython--matplotlib auto-yourscript.py
不确定您现在是否需要输入,但raw_input
功能会等待您按下返回键,而不仅仅是任何键
编辑:
关于您的最后一句话:解释如何在脚本结束之前强制绘制。这可以通过
draw
功能完成。在交互模式下,每个pyplot命令也调用draw
。在此上下文中绘制意味着通过后端渲染图形。是!我在ipython工作。我将继续处理Canopy提示符(从那里仍然不起作用),但是谢谢。