У меня есть график matplotlib, со значениями у и временами х. Тем не менее, количество ярлыков xtick варьируется от 0 до 23, что, хотя и правильно, я бы хотел, чтобы они были отформатированы как 0:00, 1:00 и т.д.
Я читаю данные из файла csv и извлекаю значение часа, выполнив: hour_counts = songs['hour'].value_counts().sort_index()
которая возвращает список следующим образом:
0 574 1 399 2 225 3 135 23 734
Затем строится график и отображаются значки, выполняя:
ax = hour_counts.plot() ax.set_xticks(hour_counts.index) ax.set_xticklabels(hour_counts.index, rotation=45)
Это создает график как https://imgur.com/a/Dz541gD
Я хотел бы отформатировать xticks так, чтобы они выглядели как время, 0:00, 1:00, 2:00 вплоть до 23:00.
Спасибо
Один простой и легкий взлом, который вы можете попробовать, по крайней мере, для сюжета, который вы разместили, заключается в следующем
ticklabels = ['%s:00' %i for i in range(24)]
ax.set_xticklabels(ticklabels, rotation=45)
Можно также использовать format
для форматирования меток в соответствии с вашими потребностями.
ax.xaxis.set_minor_formatter(dates.DateFormatter('%H:%M'))
. Для получения дополнительной информации, посмотрите здесь