matplotlib中plt.draw()和plt.show()的区别

klr1opcd  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(701)

我想知道为什么有些人会在plt.show()之前放一个plt.draw()。对于我的代码,plt.draw()的行为似乎并没有改变输出。我在网上搜索了一下,但没有找到任何有用的东西。
(假设我们将pyplot导入为from matplotlib import pyplot as plt

pu82cl6c

pu82cl6c1#

plt.show()将显示您正在处理的当前图形。
plt.draw()将重新绘制图形。这允许您在交互模式下工作,如果您更改了数据或格式,则允许图形本身更改。
plt.draw文档声明:
这在交互模式下用于更新已使用一个或多个绘图对象方法调用更改的地物;如果图形修改完全使用pyplot函数完成,如果修改序列以pyplot函数结束,或者如果matplotlib处于非交互模式并且修改序列以show()或savefig()结束,则不需要该函数。
这似乎表明,在大多数情况下,在非交互模式下,在plt.show()之前使用plt.draw()是多余的。唯一需要它的情况是,如果你正在进行一些非常奇怪的修改,而不涉及使用pyplot函数。
有关详细信息,请参阅Matplotlib文档“Interactive figures“。

相关问题