Считайте, что это не только ответ, но и предложение.Сначала преобразуйте столбец timestamp в индекс (DatetimeIndex)
df.set_index(df['timestamp'], inplace=True, drop=True)
Затем получите все уникальные дни, которые происходят в вашем DataFrame
unique_days = list(set(df.index.to_period('D').strftime('%Y-%m-%d')))
Затем мы сжимаем DataFrame всерия
del df['timestamp']
df = df.squeeze()
Теперь просто нанесите уникальные дни в вашей серии на отдельных участках.
import matplotlib.pyplot as plt
unique_days = list(set(df.index.to_period('D').strftime('%Y-%m-%d')))
fig, axes = plt.subplots(nrows=len(unique_days), ncols=1)
row = 0
for day in unique_days:
df[day].plot(ax=axes[row], figsize=(50,10))
row += 1
plt.show()
Теперь,настало время поиграться с параметрами plots , чтобы вы могли настроить их под свои нужды.