Python 是否有方法在不关闭窗口的情况下更新matplotlib绘图?

Python 是否有方法在不关闭窗口的情况下更新matplotlib绘图?,python,matplotlib,Python,Matplotlib,我对matplotlib完全陌生,经验丰富,但对python已经生疏,目前我正在努力使用matplotlib。 我试图在情节上设置一个点的动画,有点像这样: 我已经为它编写了代码,但是在while循环期间,绘图不会实时更新点,相反,while循环会暂停,直到我关闭绘图窗口,循环发生下一次迭代,使用更新的坐标重新打开绘图。是否有方法在不打开和关闭窗口的情况下移动matplotlib上的点 我的代码: import numpy as np import time t = 0 start_time

我对matplotlib完全陌生,经验丰富,但对python已经生疏,目前我正在努力使用matplotlib。 我试图在情节上设置一个点的动画,有点像这样:

我已经为它编写了代码,但是在while循环期间,绘图不会实时更新点,相反,while循环会暂停,直到我关闭绘图窗口,循环发生下一次迭代,使用更新的坐标重新打开绘图。是否有方法在不打开和关闭窗口的情况下移动matplotlib上的点

我的代码:

import numpy as np
import time
t = 0
start_time = time.time()
while t < 30:
    end_time = time.time()
    t = end_time - start_time
    print(t)
    plt.plot(t,t,"g^")
    plt.show()
将numpy导入为np
导入时间
t=0
开始时间=time.time()
当t<30时:
结束时间=time.time()
t=结束时间-开始时间
打印(t)
plt.绘图(t,t,“g^”)
plt.show()

在循环中更新绘图的一个选项是启用并使用更新绘图

例如:

import numpy as np
import matplotlib.pyplot as plt
point = plt.plot(0, 0, "g^")[0]
plt.ylim(0, 5)
plt.xlim(0, 5)
plt.ion()
plt.show()

start_time = time.time()
t = 0
while t < 4:
    end_time = time.time()
    t = end_time - start_time
    print(t)
    point.set_data(t, t)
    plt.pause(1e-10)
将numpy导入为np
将matplotlib.pyplot作为plt导入
点=plt.绘图(0,0,“g^”)[0]
plt.ylim(0,5)
plt.xlim(0,5)
plt.ion()
plt.show()
开始时间=time.time()
t=0
当t<4时:
结束时间=time.time()
t=结束时间-开始时间
打印(t)
点。设置_数据(t,t)
plt.暂停(1e-10)
但是,对于更高级的动画,我建议使用