Matplotlib: установить ось жесткой только на ось x или y
У меня сюжет выглядит так:
![введите описание изображения здесь]()
Очевидно, что левая и правая стороны являются пустой тратой пространства, поэтому я устанавливаю
plt.axis('tight')
Но это дает мне такой сюжет:
![введите описание изображения здесь]()
xlim выглядит прямо сейчас, но илим слишком плотный для сюжета.
Мне интересно, если я могу установить axis(tight)
только на ось x в моем случае?
Таким образом, сюжет может выглядеть примерно так:
![введите описание изображения здесь]()
Конечно, я могу сделать это вручную с помощью
plt.gca().set_xlim(left=-10, right=360)
Но я боюсь, что это не очень изящное решение.
Ответы
Ответ 1
Вы хотите использовать автомасштабированный метод autoscale
из класса matplotlib.axes.Axes
.
![enter image description here]()
Используя функциональный API, вы применяете жесткую ось x, используя
plt.autoscale(enable=True, axis='x', tight=True)
или если вы используете объектно-ориентированный API, вы будете использовать
ax = plt.gca() # only to illustrate what 'ax' is
ax.autoscale(enable=True, axis='x', tight=True)
![enter image description here]()
Для полноты axis
kwarg может принимать 'x'
, 'y'
или 'both'
, где по умолчанию 'both'
.