【发布时间】: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