【发布时间】:2021-07-20 17:27:46
【问题描述】:
我有一个运行时间数据集,已分解为六个月(1 月 - 6 月)。我想绘制散点图的动画,在 x 轴上显示距离,在 y 轴上显示时间。
我没有任何动画:
plt.figure(figsize = (8,8))
plt.scatter(data = strava_df, x = 'Distance', y = 'Elapsed Time', c = col_list, alpha = 0.7)
plt.xlabel('Distance (km)')
plt.ylabel('Elapsed Time (min)')
plt.title('Running Distance vs. Time')
plt.show()
这给了我:
我想要的是一个动画,它绘制第一个月的数据,然后延迟第二个月,依此类推。
from matplotlib.animation import FuncAnimation
fig = plt.figure(figsize=(10,10))
ax = plt.axes(xlim=(2,15), ylim=(10, 80))
x = []
y = []
scat = plt.scatter(x, y)
def animate(i):
for m in range(0,6):
x.append(strava_df.loc[strava_df['Month'] == m,strava_df['Distance']])
y.append(strava_df.loc[strava_df['Month'] == m,strava_df['Elapsed Time']])
FuncAnimation(fig, animate, frames=12, interval=6, repeat=False)
plt.show()
这是我想出的,但它不起作用。有什么建议吗?
【问题讨论】:
标签: python pandas matplotlib animation