【问题标题】:Manually closing matplotlib plots doesn't release the program手动关闭 matplotlib 绘图不会释放程序
【发布时间】:2018-02-07 08:36:14
【问题描述】:

当我调用pyplot.show(block=True) 时,会出现一个带有正确绘图的窗口。当试图手动关闭它时,窗口会关闭,但程序不会继续运行(就像它仍然被阻止一样)。

例如,下面的程序会显示绘图窗口并打印Before,但手动关闭窗口后,程序似乎仍然被阻塞,并且After打印的。:

plt.plot(x,y)
print("Before")
plt.show(block=True)
print("After")

我使用最新的 matplotlib 版本 (2.1.2) 在 Python 3.5.2 上使用交互式 TkAgg 后端。

更新 - 附加信息:我在 Ubuntu 上使用 Pycharm 2017.2(Windows 主机上的虚拟机)

【问题讨论】:

  • 很奇怪。适用于我的 python 3.6 和最新的 matplotlib 版本(实际上没有 block = True)
  • 交互行为不太依赖于 matplotlib 和 Python 的版本,而是使用的 IDE/解释器。很多关于困难的话题with Eclipse/PyDev for instance.
  • 所显示代码的通常行为确实是在您关闭绘图后打印“之后”。如果这对您不起作用,并且您需要帮助,请提供有关如何以及在何处运行此代码的所有必要信息。屏幕截图也可能会有所帮助。见minimal reproducible example
  • 这是在 mac 上吗?
  • 至少我可以说它适用于 Windows 上的 pycharm 2017.1,请参阅this screenshot

标签: python matplotlib


【解决方案1】:

通过在 PyCharm 的设置中取消选中“如果可用则使用 IPython”复选框解决。

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 2016-03-10
    • 1970-01-01
    • 2019-05-15
    • 2013-01-10
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多