Кажется, есть какая-то проблема с графиком, который я строю, потому что тики по оси X не помещаются в нужных местах.
Похоже, что существуют дополнительные метки тиков по оси Xдобавлены потому, что они не соответствуют правилам, которые я им дал.

Как вы можете видеть выше, основные тики (даты, т.е.2018-09-22) немного смещены влево.Это дает второстепенным тикам (часам, т.е. 06:00 утра) некоторое пространство.
Однако не все второстепенные тики следуют правилу вращения.
Регулировка тиков по оси X
Вот код, который я использовал для обозначения отметок оси x:
def label_x_axis(axis, title, dates, figure):
axis.set_title(title)
axis.grid(True)
axis.xaxis.set_major_locator(mdates.DayLocator())
axis.xaxis.set_minor_locator(mdates.HourLocator(np.arange(0, 25, 6)))
axis.set_xticklabels(dates, rotation=60, horizontalalignment='right', minor=True, fontdict=(
{
'fontsize': '6',
'horizontalalignment': 'right'
}
))
axis.set_xticklabels(dates, rotation=60, horizontalalignment='right', minor=False, fontdict=(
{
'fontsize': '8',
'horizontalalignment': 'right'
}
))
# Create offset transform by 5 points in x direction
dx, dy = -12 / 72.0, 0 / 72.0
# offset = figure.dpi_scale_trans # matplotlib.transforms.Affine2D().translate(dx, dy).rotate(0)
# matrix
offset = matplotlib.transforms.ScaledTranslation(dx, dy, figure.dpi_scale_trans)
axis.xaxis.labelpad = 20
dayFmt = mdates.DateFormatter('%Y-%m-%d')
hourFmt = mdates.DateFormatter('%H:%M %p')
axis.xaxis.set_major_formatter(dayFmt)
axis.xaxis.set_minor_formatter(hourFmt)
# apply offset transform to all x ticklabels.
for label in axis.xaxis.get_majorticklabels():
label.set_transform(label.get_transform() + offset)
Полный Пример Google Colab Laboratory здесь .