使用Matplotlib和Pandas在同一个绘图中按小时绘制时间序列

时间:2017-05-10 10:56:58

标签: python matplotlib plot time-series timeserieschart

我有一个包含时间戳的时间序列,格式为'2017-04-01 00:00:00';时间序列包含大约30天的数据。

为了直观地了解这个系列的可变性,我想将其绘制为一天中小时的函数,并将所有日子叠加在同一个图上。这样,水平轴的范围从00:00:00到23:45:00,我将能够看到时间戳指定的一天中任何特定时间的系列的可变性。

我的时间序列存储在Pandas数据框中,我正在使用Matplotlib。有人可以告诉我是否有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我建议你循环你的df,每天构成阵列并动态绘制它们。

previous_day = dataframe[0]['date'].day
daily_data = []
daily_times = []

for row in dataframe:
    if row['date'].day == previous_day:
        daily_data.append(row['data_to_plot'])
        daily_times.append(row['date'])

    else:
        plt.plot(daily_times, daily_data)
        previous_day = row['date'].day
        daily_data = []
        daily_times = []

plt.plot(daily_times, daily_data)
plt.show()

here是操纵日期的python库

here您将找到如何使用matplotlib叠加曲线