我是matplotlib.pyplot的新手。我遇到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 Pro 64位。 Python2.7.10,Anaconda 2.3.0,其中包含(显然)matplotlib1.4.3 注意:我确实读过“(python)matplotlib pyplot show()..阻塞与否?”它来自2011年,并指的是matplotlib1.0.1作为解决方案。
答案 0 :(得分:0)
http://matplotlib.org/api/pyplot_api.html?highlight=plot#matplotlib.pyplot.show
在非交互模式下,显示所有数字并阻止,直到数字关闭为止;在交互模式下,除非在从非交互模式更改为交互模式之前创建数字(不推荐),否则它无效。在这种情况下,它显示数字但不阻止。 单个实验关键字参数block可以设置为True或False以覆盖上述阻塞行为。