我遇到了show()
函数不阻塞的问题。我从一个离开的人那里接管了一个python应用程序,我似乎记得这个应用程序在他的(IT回收的)PC上工作。下面是代码...
import matplotlib.pyplot as plt
plt.title("Molding X Error")
plt.xlabel("X")
plt.ylabel("X Error")
plt.plot( ... details that work and not the problem ... )
plt.show(block=True)
plt.title("Molding Y Error")
plt.xlabel("Y")
plt.ylabel("Y Error")
plt.plot( ... details that work and not the problem ... )
plt.show(block=True)
在其他人的PC上,第一个show()
会适当地显示。在消除第一个之后,第二个会显示。
我运行了它,它不仅没有在第一个show()
上停止,而且还将第一个和第二个的数据与第二个的标题和标签组合在一起。
我使用调试器单步调试,第一个确实显示了,但是单步调试到第二个时看到了相同的结果。
Windows 7专业版64位。Python 2.7.10,水蟒2.3.0,其中包含(显然)matplotlib1.4.3
注意:我确实通读了“(Python)matplotlib pyplot show()..阻塞与否?”,它是2011年的,指的是matplotlib1.0.1作为一个解决方案。
1条答案
按热度按时间kmynzznz1#
http://matplotlib.org/api/pyplot_api.html?highlight=plot#matplotlib.pyplot.show
在非交互模式下,显示所有图形和块,直到图形关闭;在交互模式下,除非在从非交互模式更改为交互模式之前创建了图形,否则该选项无效(不推荐)。在这种情况下,该选项显示图形但不阻止。单个实验关键字参数block可设置为True或False以覆盖上述阻止行为。