计算并绘制图表上各点之间的天数

时间:2017-03-17 19:23:10

标签: python datetime matplotlib

我期待按日期分发某些事件。我需要在图表上的每个点之间查看时间。我该怎么做?

enter image description here

date_time=[datetime.datetime.strptime(date_string, '%Y-%m-%d') for date_string in date_time]

dates = matplotlib.dates.date2num(date_time)

plt.scatter(date_time, [5]*len(dates))

plt.gcf().autofmt_xdate()

plt.show()

1 个答案:

答案 0 :(得分:1)

以下是@ berna1111

的答案

sourcecode

    plt.scatter(date_time, [5]*len(date_time))
s = date_time[0]
p=0
for i in date_time[1:]:
    l = (i - s).days
    #print(i , '-', s, '=', l)
    s=date_time[date_time.index(i)]
    if l > 30:
        plt.text(i,5.001,l)
        plt.text(i,4.999-p,i.date())
        p+=0.001
        if p == 0.002:
            p = 0
plt.gcf().autofmt_xdate()

plt.show()