Я создаю подзаголовок с использованием matplotlib, где верхняя ось x отличается от нижней оси x. Я сам добавил ярлыки и xlabels.метки в matplotlib
Я хотел бы, чтобы в нижней части средней и верхней подзаголовки были xtick знаки, соответствующие нижней оси x, где стрелки указывают наружу (или вниз) - как на самом дне. Есть ли способ сделать это?
Это код, я использую до сих пор, чтобы настроить тики:
f, (ax1, ax2, ax3) = plt.subplots(3, sharex=False, sharey=False)
f.subplots_adjust(hspace=0)
plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
ax3.get_xaxis().set_tick_params(direction='out', top='off', which='both')
ax2.get_xaxis().set_tick_params(direction='out', bottom='on', top='off', which='both')
ax1.minorticks_off()
ax1.get_xaxis().tick_top()
ax1.set_xticks([np.divide(1.0,100.0), np.divide(1.0,50.0), np.divide(1.0,35.0),
np.divide(1.0,20.0), np.divide(1.0,10.0), np.divide(1.0,5.0),
np.divide(1.0,3.0), np.divide(1.0,2.0), np.divide(1.0,1.0)])
ax1.set_xticklabels([100, 50, 35, 20, 10, 5, 3, 2, 1])
Я нахожу, что, так как я сделал настроить xticks для верхнего участка, я не могу это сделать, и указать направление «out» в нижней подзаголовке разрушает отметки в середине. Поскольку между подзаголовками нет места, верхняя часть нижней части имеет свою ось x с нижней частью среднего подзаголовка и т. Д.
Есть ли обходной путь для этого?
Я не могу заставить это работать. Можете ли вы привести пример? Это просто изменяет порядок, в котором рисуются оси. Проблема в том, что средние графы нуждаются в галочках, которые расположены наружу внизу, но внутрь вверху. – grover
Я просто добавил эти строки в конец сценария, который вы опубликовали. Порядок вытягивания должен быть достаточным для того, чтобы оставить тики в нижней части среднего участка видимым. Для верхних строк вы можете просто использовать axvline и список позиций. – Elliot