通过Eclipse交互式使用matplotlib
有没有可能通过pydev进行交互式会话来使用matplotlib?问题是我无法获得shell访问权限,因为在执行show()命令后,解释器就停止了。我想通过pydev进行交互式会话。
matplotlib手册中对交互式会话有详细的描述,具体可以查看这里:http://matplotlib.sourceforge.net/users/shell.html
不过,手册里没有提供在eclipse中实现这个的例子。
3 个回答
0
我想问题出在你使用的工具包上,它需要运行自己的事件循环,而这个可能和在Eclipse下运行不太兼容。你可以试试使用Agg后端,先保存你的图形,然后在一个单独的查看器中打开它们。
还有一个叫做 ezplot 的东西,可以通过RPC在另一个进程中绘图:这样可以很好地解决事件循环的问题,不过看起来它并没有更新。
1
如果你想要一个快速的解决办法,可以使用 ginput(1)
这个命令。它会让程序一直运行,直到你在图表上点击一次为止。这样可以让图表保持可见,足够你快速预览一下。
plot([2,3,4], [4,9,16])
ginput(1) # view results of plot fn
xlabel('x')
ylabel('f(x)')
ginput(1) # view results of xlabel and ylabel fns
2
我之前没怎么用过pydev,不过我记得你可以更改使用的交互式解释器。如果可以的话,安装ipython并在pylab模式下使用(在命令行输入ipython --pylab)。
结果发现你不能更改解释器。你可以运行解释器命令,所以也许可以通过这种方式运行ipython的命令行,但其实直接在终端启动ipython --pylab
,然后和你的eclipse会话一起运行会更简单。
希望这对你有帮助。