我对 matplotlib 完全陌生,经验丰富,但对 python 很生疏,目前我正在努力使用 matplotlib。我正在尝试对情节上的一个点进行动画处理,有点像这样: https: //www.desmos.com/calculator/rv8gbimhon
我已经为其编写了代码,但绘图不会在 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()
Run Code Online (Sandbox Code Playgroud)
小智 6
例如:
import numpy as np
import matplotlib.pyplot as plt
import time
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)
Run Code Online (Sandbox Code Playgroud)
但是,对于更高级的动画,我建议使用动画类。