自从我开始使用python以来,我在使用matplotlib时遇到了一些麻烦。当我使用交互模式时,我必须运行ipython --pylab --wthread来获取图(如果我不使用--wthread命令,它不会绘制任何东西)。到目前为止,它还没有成为问题。
现在,我想:
我现在发现了几个困难:
1)如果我尝试使用run script.py命令以交互方式运行脚本,那么它不会绘制annything,而是直接跳转到按钮pannel的东西。但是,如果我停止脚本,则会显示这些图。我很确定发生的事情是"运行"命令不会显示绘图,直到脚本完成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配置确实存在问题,但无法找到一种方法让这项工作成功...有谁可以帮我解决这个问题?
提前多多感谢!
答案 0 :(得分:0)
看起来你几乎已经得到了它,但是尝试按此顺序做事:
fig = plt.figure(figsize=(16,8))
ax = [fig.add_subplot(121),fig.add_subplot(122)]
ax[0].things
ax[1].things
plt.show()
#show the button panel
但是,最好的方法可能是将图集合到GUI中。我不熟悉EasyGUI,但它似乎是基于tk。这个example可以帮助您将图形嵌入到tk窗口中。