Я пытался использовать заговор, чтобы показать временные ряды за длительный период времени. Поскольку это длинный временной ряд, я использовал основных тиков за каждые 14 дней и второстепенных за каждые 7 дней .
Мне не нужно показывать меньшие тики, включая часы, минуты и секунды, так как тики будут перекрываться, создавая беспорядок.
Но проблема в том, что при увеличении на рисунке не отображаются меньшие отметки.
Например, на рисунке ниже, когда он увеличен, я хочу видеть меньшие галочки :
1/1 2/1 3/1 ... 15/1
и другие меньшие отметки часов: минут: секунд
1/1 12:00:00 1/1 12:05:00 ....
Как следует изменить следующий код?
fig, ax = plt.subplots(nrows=nrows, ncols=ncols, figsize=figsize)
xticks = pd.date_range(data.index[0], data.index[-1], freq='14D')
xticks_minor = pd.date_range(data.index[0], data.index[-1], freq='7D')
xtickslabel = xticks.strftime('%d/%m')
for i, ax in enumerate(ax.flat):
ax.plot(data, '.',color='k',zorder=2)
ax.set_xlim(data.index[0],data.index[-1])
ax.set_xlabel('t ('+str(data.index[0].year)+')',fontsize = 14, family='Arial')
ax.set_ylabel(varstr[i], fontsize = 14, family='Arial')
ax.set_xticks(xticks)
ax.set_xticks(xticks_minor, minor=True)
ax.set_xticklabels(xtickslabel, rotation=0, fontsize=14)
# ax.set_yticklabels(rotation=0, fontsize=12)
myFmt = mdates.DateFormatter('%d/%m') # formate date of x-axes to make x calues shown on the figure %Y-%m-%d %H:%M:%S
ax.xaxis.set_major_formatter(myFmt)
ax.yaxis.set_tick_params(labelsize=14) # y-axes label size
labels = ax.get_xticklabels()+ax.get_yticklabels()
[label.set_fontname('Arial') for label in labels]
ax.grid(which='major',alpha=0.5,linestyle=':')
ax.grid(which='minor',alpha=0.5,linestyle=':')
Полученный показатель выглядит следующим образом: