【问题标题】:Why does the plotting function plt.show() behave differently when inside or outside a loop?为什么绘图函数 plt.show() 在循环内部或外部表现不同?
【发布时间】:2020-10-14 08:10:56
【问题描述】:

例如,查看上一个问题的答案:这里将 plt.show() 放在 for 循环之外可以绘制“实时”图。就好像代码在执行之前正在编译一样。当您处于第 i 次迭代时,python 如何知道当 plt.show() 命令出现在循环之后?

How do I plot in real-time in a while loop using matplotlib?

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0, 10, 0, 1])

for i in range(10):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(0.05)

plt.show()

【问题讨论】:

    标签: python matplotlib plot


    【解决方案1】:

    使用 plt.show(block=False) 如下

    import numpy as np
    import matplotlib.pyplot as plt
    
    plt.axis([0, 10, 0, 1])
    
    for i in range(10):
        y = np.random.random()
        plt.scatter(i, y)
        plt.pause(0.05)
        plt.show(block=False)
    

    【讨论】:

      猜你喜欢
      • 2022-09-24
      • 1970-01-01
      • 2016-08-31
      • 2014-10-17
      • 1970-01-01
      • 2016-04-29
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多