gpt4 book ai didi

python - matplotlib show() 方法不打开窗口

转载 作者:太空狗 更新时间:2023-10-29 21:24:26 25 4
gpt4 key购买 nike

我正在使用 mac,当我使用 matplotlib 执行以下操作时:

import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import pylab as P

...
plt.plot(x,y)
plt.show() <-- nothing happens
plt.savefig('figure.png') <-- works fine

因此,plt.show 不会打开窗口或任何东西,而 plt.savefig 可以正常工作。

可能是什么问题?

最佳答案

Pyplot 只会弹出一个图形窗口,如果

matplotlib.rcParams['interactive'] == True

这种情况如果你:

  • 之前在您的脚本中调用过 plt.ion(),或者
  • 等价地,调用matplotlib.interactive(True),或者
  • 在命令行中使用 --pylab 选项启动了一个 ipython session 。

当交互模式关闭时,您通常必须显式调用 plt.show() 才能弹出图形窗口。这是因为我们经常想在显示图形之前多次调用 plot 来绘制各种东西(这是一个阻塞调用)。


编辑(修改问题后):

plt.show() 没有弹出图形窗口的一个原因是您没有激活交互式后端。检查 plt.get_backend() 的输出 - 如果它返回 'agg',例如,您有一个非交互式后端。

如果这是你的问题,你可以添加类似

的行
import matplotlib
matplotlib.use('MacOSX')

在脚本的开头指定后端。这需要放在任何其他与 matplotlib 相关的导入之前。

要使此类更改永久生效,您可以通过修改 matplotlib rc 文件来指定不同的后端作为默认后端。通过调用 matplotlib.matplotlib_fname() 找到该文件的位置。

关于python - matplotlib show() 方法不打开窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com