
我根本不是matplotlib的专家,但是在Double
Pendulum动画中,它们显示变化的文本,这会导致一些变化,可以为您提供帮助。
要获得具有实际线条颜色的图例,可以将初始设置更改
lines为:
lines = [plt.plot([], [], label = 'line {}'.format(i))[0] for i in range(N)]或在函数中
line.set_label()的
for循环中添加一个
init()。这些似乎都按预期工作。至少如果您在
plt.legend(loc="upperleft")之前添加
plt.show()。
但是,
set_label它在
animate()函数中不起作用,但是根据链接的动画,您可以使用添加到动画中的特定文本字段,这似乎效果很好。在初始化之后添加以下代码
lines:
texts = [ax.text(0.80, 0.95-i*0.05, '', transform=ax.transAxes) for i in range(N)]
并更改
animate()为:
def animate(i): for j in range(N): lines[j].set_data([0, 2], [10*j,i]) #, label="hei {}".format(i)) texts[j].set_text('line %d, stage %d'%(j,i)) return lines这会将文本放在右上角附近,并针对每个动画步骤进行更新。由于这些行仍显示其图例,因此您可以简化为一个仅显示舞台的文本。但是,我会根据您的判断对消息进行微调。
附录:扩展Line2D另一个选择 可能
是
lines.Line2D在动画中扩展和使用这些行,类似于本文的内容。不知道这是否可以与动画一起使用,但是如果您不能使以上内容起作用,那么可能值得尝试。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)