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

30 python matplotlib

我想知道为什么有些人plt.draw()在他们的代码之前加入了代码plt.show().对于我的代码,这个行为plt.draw()似乎没有改变输出.我在互联网上搜索但找不到任何有用的东西.

(假设我们导入pyplotfrom matplotlib import pyplot as plt)

Ffi*_*ydd 41

plt.show() 将显示您正在处理的当前数字.

plt.draw()将重新绘制数字.这允许您以交互模式工作,如果您更改了数据或格式,则允许图表本身更改.

plt.draw文档的状态:

这在交互模式下用于更新使用一个或多个绘图对象方法调用更改的图形; 如果图形修改完全使用pyplot函数完成,如果修改序列以pyplot函数结束,或者matplotlib处于非交互模式且修改序列以show()或savefig()结束,则不需要它.

这似乎表明,在不处于交互模式plt.draw()之前使用之前plt.show()绝大部分时间都是多余的.您可能需要它的唯一时间是您正在进行一些非常奇怪的修改,而不涉及使用pyplot函数.

有关详细信息,请参阅Matplotlib常见问题解答," 什么是交互模式? ".