为什么在循环内或循环外,绘图功能plt.show()的行为会有所不同?

时间:2020-10-14 00:02:30

标签: python matplotlib plot

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

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()

1 个答案:

答案 0 :(得分:2)

按如下所示使用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)