Matplotlib: установить ось только по оси x или y

У меня сюжет выглядит так:

Очевидно, левая и правая сторона - пустая трата места, поэтому я установил

plt.axis('tight')

Но это дает мне такой сюжет:

Xlim выглядит прямо сейчас, но ylim слишком плотный для сюжета.

Мне интересно, если я могу только установитьaxis(tight) только по оси х в моем случае?

Так что сюжет может выглядеть примерно так:

Конечно, возможно, что я могу сделать это вручную

plt.gca().set_xlim(left=-10, right=360)

Но, боюсь, это не очень элегантное решение.

Ответы на вопрос(1)

Решение Вопроса

Вы хотите использовать Matplotlib'sautoscale метод изmatplotlib.axes.Axes учебный класс.

Используя функциональный 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)

Для полнотыaxis Кварг может взять'x', 'y', или же'both'где по умолчанию'both'.

 Wisperwind17 мар. 2017 г., 13:52
Небольшое дополнение: я в основном использую объектно-ориентированный API,autoscale на самом деле методAxes учебный класс.
 Vadim Shkaberda17 апр. 2018 г., 23:56
@ StevenC.Howell Отлично работает для осей Y с matplotlib до версии 2.2.2 как в Linux (Python 2), так и в Windows (Python 3, 32- / 64-битные версии).
 Steven C. Howell16 апр. 2018 г., 21:34
Это не похоже на работу с осями Y. Я старалсяaxis='y' без изменений.

Ваш ответ на вопрос