我想画出累计的旅行距离,每一年都有不同的颜色,而我纠结的是x轴,我想把它作为天数,这样你就可以看到每年的趋势以及它与前一年的偏差
我的数据集看起来像这样
| 日期|距离|
| - -----|- -----|
| 2010年1月1日|八|
| 2010年1月2日|5个|
| 2010年1月3日|六|
| 2010年1月4日|九个|
| 2010年1月5日|十二岁|
| 2010年1月6日|七个|
| 2010年1月7日|九个|
| 2010年1月8日|六|
我的代码看起来像这样
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('sample_data.csv')
df['date'] = pd.to_datetime(df['date'])
df_years = df[df['date'].dt.year.isin(range(2010, 2016))]
df_years = df_years.sort_values(by='date')
cumulative_distance = df_years.groupby(df_years['date'].dt.year)['distance'].cumsum()
colors= ['white', 'white', 'white', 'white', 'white', 'white']
for year, color in zip(range(2010,2016), colors):
mask = (df_years['date'].dt.year == year)
plt.plot(df_years.loc[mask, 'date'], cumulative_distance[mask], color=color, label=str(year))
plt.title('Cumulative Distance Traveled in 2010 - 2015')
plt.xlabel('Date')
plt.ylabel('Distance')
plt.legend()
plt.show()
我希望图表看起来像这样
真的很感激一些帮助,让它成为这种格式,因为我只是不能似乎解决它…我怀疑它的东西这么简单,我做错了。
1条答案
按热度按时间v2g6jxz61#
你应该选择有意义的颜色,白色背景上的白色看起来是不可见的,并使用一个共同的信息作为X轴(如一年中的第几天):