Как добавить легенду к анимации matplotlib?Python

Программы на Python
Ответить
Anonymous
 Как добавить легенду к анимации matplotlib?

Сообщение Anonymous »

У меня есть анимация орбиты, написанная на Python. Я хочу легенду о том, что на этикетке указано время «dt». На этот раз обновляется (увеличивается) по орбите. Например, в первом кадре гифки легенда должна быть «дт», во втором — дт+дт и так далее. Я попробовал что-то, что не сработало. Возможно я использую не те команды. Появляется ошибка: TypeError: __init__() получил несколько значений для аргумента «frames» . Кто-нибудь знает, как сделать эту легенду? Код выше.
fig = plt.figure()

plt.xlabel("x (km)")
plt.ylabel("y (km)")
plt.gca().set_aspect('equal')
ax = plt.axes()
ax.set_facecolor("black")
circle = Circle((0, 0), rs_sun, color='dimgrey')
plt.gca().add_patch(circle)
plt.axis([-(rs_sun / 2.0) / u1 , (rs_sun / 2.0) / u1 , -(rs_sun / 2.0) / u1 , (rs_sun / 2.0) / u1 ])

# Legend

dt = 0.01

leg = [ax.plot(loc = 2, prop={'size':6})]

def update(dt):
for i in range(len(x)):
lab = 'Time:'+str(dt+dt*i)
leg.set_text(lab)
return leg

# GIF

graph, = plt.plot([], [], color="gold", markersize=3)

plt.close()

def animate(i):
graph.set_data(x[:i], y[:i])
return graph,

skipframes = int(len(x)/500)
if skipframes == 0:
skipframes = 1

ani = FuncAnimation(fig, update, animate, frames=range(0,len(x),skipframes), interval=20)


Подробнее здесь: https://stackoverflow.com/questions/706 ... animations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»