Я работаю над куском кода, чтобы автоматически выравнивать метки оси x для переменного количества подзаговоров. Когда я начал с установкой позиции меток вручную проблемами, я проверил, чтобы убедиться, что я мог бы просто перейти от одного набора координат к другой, ничего не меняя, с фрагментом кода, как это:Непоследовательность координат текста оси Matplotlib?
# xaxes is a list of Axes objects
textCoords = [ax.xaxis.get_label().get_position() for ax in xaxes]
newCoords = [ax.transAxes.inverted().transform(ax.xaxis.get_label().\
get_transform().transform(c)) for ax,c in zip(xaxes,textCoords)]
for ax,c in zip(xaxes,newCoords): ax.xaxis.set_label_coords(*c)
В теории, этот код не меняет никаких координат; он просто получает координаты каждой метки, сопоставляет ее с координатами осей, используя внутренне сохраненное преобразование объекта Text, а затем устанавливает позицию. Однако запуск этого кода полностью удаляет мои ярлыки, и небольшое экспериментирование показывает, что они уходят с нижнего края графика.
Я просто неправильно понял преобразования здесь?