在wx应用程序中的pylab

时间:2011-03-09 12:43:05

标签: python wxpython matplotlib wxwidgets

当我尝试用pylab制作图片时

import pylab
pylab.plot([0,1,2,3],[10,50,30,40])
pylab.savefig('graph.png')

在wx应用程序中,没有返回终端控件。

1 个答案:

答案 0 :(得分:0)

我想你在主(只有?)线程中调用了wx主循环。但是,您能澄清代码段的上下文吗?如何将其变成“wx应用程序”,为什么要进行终端控制?例如,您是否希望在屏幕上看到您的数字,同时在终端输入内容。或者你想保存它,而不是在屏幕上显示它?

无论如何,你提供的代码片段对我来说运行得很好,但如果我这样做

import pylab
pylab.plot([0,1,2,3],[10,50,30,40])
pylab.savefig('graph.png')
pylab.plot()

然后,如果我运行你的代码...

  1. 作为“python snippet.py”,然后它只是写文件并退出,很好。

  2. 来自“ipython -wthreads”的
  3. ,它会显示情节,保存并将控制权交还给我。

  4. 来自“ipython”的
  5. ,它确实是这样,永远不会回归控制。

  6. 这是因为pylab.plot()调用GUI的主循环(在我的情况下是gtk,我希望wx会做同样的事情)。