我需要有关如何绘制列表的帮助。我有一个包含天数的列表(见图(,我需要制作一个图表,其中 x 轴是一天,y 轴是该天重复的次数。
日期的格式为日/月/年
天数列表
下面的代码显示了执行此操作的三个步骤。首先创建一个随机日期列表。接下来计算重复次数。最后绘制数据。
import pandas as pd
from datetime import datetime, timedelta
from random import choices, random
import matplotlib.pyplot as plt
## create random date list
date_diff_days = choices(range(1,20), k = 50)
dates = [datetime.now().date() - timedelta(days=i) for i in date_diff_days]
## compute repeated times
d = dict()
for date in dates:
d[date] = d[date] = d[date]+1 if date in d else 1
df = pd.DataFrame({'date': list(d.keys()),
'repeated' : list(d.values())})
df = df.sort_values(['date'])
## plot the timeseries data
plt.plot_date(x = df['date'], y = df['repeated'])
labels = [str(i.day) + '/'+ str(i.month) + '/'+str(i.year) for i in df['date']]
plt.xticks(ticks=df['date'],labels=labels, rotation=90)
plt.show()