【发布时间】:2012-10-15 00:54:37
【问题描述】:
自从我开始使用 python 以来,我一直在使用 matplotlib 时遇到一些问题。当我使用交互模式时,我必须运行 ipython --pylab --wthread 来获取绘图(如果我不使用 --wthread 命令,它不会绘制任何东西)。到目前为止,这还不是问题。
现在,我想:
- 进入循环
- 策划一些事情。这个情节是一个有两个子情节的大情节。
- 之后,使用 easygui 显示一个按钮面板,让用户根据他在绘图上看到的内容来决定
- 关闭剧情
- 重复每件事以绘制在我的列表中。
我现在发现有几个困难:
1) 如果我尝试使用 run script.py 命令以交互方式运行脚本,那么它不会绘制任何东西,而是直接跳转到按钮面板的东西。但是,如果我停止脚本,情节就会出现。我很确定正在发生的事情是“运行”命令在使用 for 循环完成脚本之前不会显示绘图。但我需要这些图出现在按钮之前。
2)经过一些尝试,我发现这段代码可以工作(出于某种神秘的原因……)。我尝试了其他方法,但删除任何 show() 或 draw() 命令只会使脚本无法工作
fig=plt.figure(figsize=(16,8))
plt.show()
ax1=fig.add_subplot(121)
ax2.things...
ax2=fig.add_subplot(122)
ax2.things
plt.draw()
plt.show()
plt.draw()
showthebuttonsthing...
即使这样工作,matplotlib 似乎也不能很好地处理循环,并且在 5 秒内没有按下任何按钮并只是等待后,我的 matplotlib 窗口会变灰。这可能听起来很愚蠢,但颜色对于我希望用户做出的决定很重要......
3) 如果我在 ipython 之外运行 python 脚本,我找不到让 python 脚本显示绘图的方法...
我想我的 matplotlib 配置确实有问题,但找不到方法来完成这项工作...谁能帮我解决这个问题?
提前非常感谢!
【问题讨论】:
标签: python matplotlib