Главное, чего не хватает, так это ограничения часов, нанесенных на график только одним днем. Один из способов сделать это - создать новый фрейм данных, такой как: day_high = high[high['Day'] == d]
. Pandas поддерживает множество других способов сделать это, например, groupby
.
Вот пример кода, демонстрирующий, как он может работать. Я добавил строку для сохранения графика в файл.
import matplotlib.pyplot as plt
import pandas as pd
import random
data = [[d, h, random.randint(0, 15)] for h in range(0, 24) for d in range(1, 32)]
high = pd.DataFrame(data, columns=['Day', 'Hour', 'Usuarios' ])
for d in high['Day'].unique():
print('Day ' + str(d))
day_high = high[high['Day'] == d]
plt.plot(day_high ['Hour'], day_high ['Usuarios'])
plt.title(f'Día {d}')
plt.savefig(f'Día {d}.png')
plt.show()