python - pyplot.show() 无法生成图表,导致 IDLE 重新启动

标签 python matplotlib

我刚刚在我的 MacBook(运行 Snow Leopard)上安装了 Python 2.7.1,并且还安装了 scipy superpack 。 NumPy 和 matplotlib 导入得很好,但是当我在解释器或脚本中调用 pyplot.show() 时,会出现一个空白窗口一秒钟,然后 IDLE 重新启动。没有图表出现。

我编写了一个非常简单的测试脚本,如下面的屏幕截图所示。它创建两个列表,打印它们,将这两个列表相互绘制,并将该图输出为 png。它成功完成,您可以看到 png 确实存在于相应的文件夹中。所以 pyplot.savefig() 按预期工作。但随后我调用了 pyplot.show(),您可以看到解释器已重新启动。

我该如何解决这个问题?

screen shot of python output

更新

根据@Blender的建议,我将 plt.show() 添加到脚本中并从终端运行它。这次它产生了以下错误消息:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1410, in __call__
    return self.func(*args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.1.0-py2.6-macosx-10.6-universal.egg/matplotlib/backends/backend_tkagg.py", line 235, in resize
    self.show()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.1.0-py2.6-macosx-10.6-universal.egg/matplotlib/backends/backend_tkagg.py", line 239, in draw
    tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.1.0-py2.6-macosx-10.6-universal.egg/matplotlib/backends/tkagg.py", line 19, in blit
    tk.call("PyAggImagePhoto", photoimage, id(aggimage), colormode, id(bbox_array))
TclError

最佳答案

该问题可能是由于idle 和 matplotlib 后端之间的冲突造成的。不要使用idle,而是尝试使用 super 包中包含的ipython,并以pylab模式启动ipython,即在命令行运行ipython -pylab

关于python - pyplot.show() 无法生成图表,导致 IDLE 重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5820102/

相关文章:

python - TypeError : Cannot interpret feed_dict key as Tensor,需要了解 session 和图表

python - "dot.exe"在路径中找不到。 Python 上的 Pydot (Windows 7)

python - 为什么我的 ValidationErrors 不再呈现?

Python 和 Matplotlib : Simplify plot configuration (xlabel, 标题、图例...)?

python - pyplot - 有没有办法显式指定 x 和 y 轴编号?

python - Tkinter.OptionMenu 未按预期工作

python - 查找定义 python 函数的位置

python - 在python中为3个变量绘制折线图

python - close() 在 matplotlib savefig 之后不释放内存

python - matplotlib 的日期时间问题