【问题标题】:Difference between plt.draw() and plt.show() in matplotlibmatplotlib 中 plt.draw() 和 plt.show() 的区别
【发布时间】:2014-06-02 05:10:13
【问题描述】:

我想知道为什么有些人将plt.draw() 放在plt.show() 之前的代码中。对于我的代码,plt.draw() 的行为似乎并没有改变输出的任何内容。我在互联网上进行了搜索,但找不到任何有用的东西。

(假设我们将pyplot 导入为from matplotlib import pyplot as plt

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    plt.show() 将显示您正在处理的当前图形。

    plt.draw() 将重新绘制图形。这使您可以在交互模式下工作,并且如果您更改了数据或格式,则允许图表本身进行更改。

    plt.draw 文档状态:

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

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

    有关更多信息,请参阅 Matplotlib 文档“Interactive figures”。

    【讨论】:

    • 非常感谢。好的,所以就我而言,这确实是多余的:)
    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2014-03-08
    • 2022-11-28
    相关资源
    最近更新 更多