Я хочу создать график matplotlib, где первый и последний xticklabel помещаются внутри границы левой и правой осей. Например, когда у меня есть три xticks как -100, 0 и 100, я должен установить xlim немного больше, чтобы поместить xticklabels '-100' и '100' внутри границ горизонтальных осей:
import matplotlib.pylab as plt
plt.xticks([-100, 0, 100])
plt.xlim(-110, 110)
fig = plt.gcf()
fig.set_size_inches(6, 3)
fig.savefig('good.png')

Выглядит хорошо: метки xticklabels находятся внутри границ левой / правой осей.
Но когда я изменяю ширину фигуры, это не так. подходят больше:
fig.set_size_inches(1.5, 3)
fig.savefig('bad.png')

Как я могу установить xlim
предсказуемо, чтобы включить ограничивающие рамки внешних xticklabels в (-100 , 100) внутри области горизонтальных осей?
Мой подход заключался бы в использовании как-нибудь (?) Преобразований ax.transData
и ax.transAxes
.