gpt4 book ai didi

python - 通过animation.FuncAnimation绘制列表字典

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:36 25 4
gpt4 key购买 nike

我在使用 animation.FuncAnimation 更新每帧的行时遇到问题。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from sys import exit
#update set line a value(a list) of dict data
def update_line(num ,data, line):
line.set_data(data[num*0.1])
return line,

fig1 = plt.figure()

# just creat a dictionary of lists by variable length
data = {}
for i in range(20):
t = i*0.1
data[t] = [j*.5 for j in range(np.random.randint(2,5))]
print t , data[t]

l, = plt.plot([], [], 'r-')
line_ani = animation.FuncAnimation(fig1, update_line, 5, fargs=(data, l),
interval=500)
plt.show()

上面的代码给了我一个ValueError:太多值无法解压
感谢您的任何评论或指导。

最佳答案

问题是您没有设置任何应绘制 ydata 的 xdata。正确的调用应该是 line.set_data(x, y)

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#update set line a value(a list) of dict data
def update_line(num ,data, line):
y = data[num*0.1]
line.set_data(range(len(y)), y)

fig1 = plt.figure()

# just creat a dictionary of lists by variable length
data = {}
for i in range(20):
t = i*0.1
data[t] = [j*.5 for j in range(np.random.randint(2,5))]

l, = plt.plot([], [], 'r-')
line_ani = animation.FuncAnimation(fig1, update_line, 20, fargs=(data, l),
interval=500, repeat=True)
plt.xlim(0,5)
plt.ylim(0,2.5)
plt.show()

关于python - 通过animation.FuncAnimation绘制列表字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com