gpt4 book ai didi

python - 如何在python动画中添加图例/标签

转载 作者:行者123 更新时间:2023-11-28 16:27:07 24 4
gpt4 key购买 nike

我想在 python 动画中添加图例,例如下面的 line.set_label()。它类似于 plt.plot(x,y,label='%d' %*variable*)

但是,我发现代码在这里不起作用。动画仅显示线条变化但没有可用的标签或图例。我该如何解决这个问题?

 from matplotlib import pyplot as plt 
from matplotlib import animation

fig = plt.figure()

ax = plt.axes(xlim=(0, 2), ylim=(0, 100))

N = 3
lines = [plt.plot([], [])[0] for _ in range(N)]


def init():
for line in lines:
line.set_data([], [])
return lines

def animate(i):
for j,line in enumerate(lines):
line.set_data([0, 2], [10*j,i])
line.set_label('line %d, stage %d'%(j,i))
return lines

anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=100, interval=20, blit=True)

plt.show()

最佳答案

您必须在动画函数中返回图例才能呈现它。试试这个,而不是:

legend = plt.legend()
def animate(i):
for j,line in enumerate(lines):
line.set_data([0, 2], [10*j,i])
line.set_label('line %d, stage %d'%(j,i))
legend.remove()
legend = plt.legend()
return lines + [legend]

你也应该在你的init函数中包含相同的代码,init是在调整窗口大小时使用的,否则图例会在调整大小时消失

关于python - 如何在python动画中添加图例/标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677980/

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