我有一个matplotlib.pyplot
图,它在循环中更新以创建动画,使用我从another answer获得的此类代码:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x = [1, 2, 3, 4] #x-coordinates
y = [5, 6, 7, 8] #y-coordinates
for t in range(10):
if t == 0:
points, = ax.plot(x, y, marker='o', linestyle='None')
else:
new_x = ... # x updated
new_y = ... # y updated
points.set_data(new_x, new_y)
plt.pause(0.5)
现在我想在图上画一个plt.text()
,它将显示已经过去的时间。然而,将plt.text()
语句放入循环中,在每个迭代的处创建一个新的text
对象,将它们放在彼此之上。所以我必须在第一次迭代中只创建一个text
对象,然后在随后的迭代中修改它。不幸的是,我在任何文档中都找不到如何修改这个对象的实例(它是一个matplotlib.text.Text
对象)的属性。有什么帮助吗?
注意
plt.cla()
调用。它会清除屏幕。与
set_data
类似,您可以使用set_text
(参见此处的文档:http://matplotlib.sourceforge.net/api/artist_api.html#matplotlib.text.Text.set_text)。所以首先
然后在循环中:
在您的示例中,它可能看起来像:
相关问题 更多 >
编程相关推荐