Matplotlib основные и второстепенные тики не синхронизированы - PullRequest
0 голосов
/ 10 сентября 2018

Мой код выглядит следующим образом:

fig, ax = plt.subplots(figsize=(8,5))
hours = dates.HourLocator(interval = 2)
h_fmt = dates.DateFormatter('%H:%M')

ax.plot(times, y_values)

xmin, xmax = plt.xlim()
xmin_0 = math.ceil(xmin) # Rounding up to start of day
ax.set_xlim(xmin_0,)

ax.xaxis.set_major_locator(hours)
ax.xaxis.set_major_formatter(h_fmt)
ax.xaxis.set_minor_locator(mdates.MinuteLocator(interval=20))

Проблема в том, что, как показано на рисунке, основные и второстепенные отметки x, похоже, не совпадают.

Я попытался установить ось x, чтобы она начиналась с 0, но это не сделало автоматически, но безрезультатно.

'times' - это массив datetime в форме:'2018-02-04 00: 00: 00'

enter image description here

1 Ответ

0 голосов
/ 10 сентября 2018

interval указывает интервал, но не начальную точку.Следовательно, лучше указать минуты для отметки:

ax.xaxis.set_minor_locator(mdates.MinuteLocator(byminute=(0,20,40)))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...