Подтвердить что ты не робот

Как напечатать метку оси Y горизонтально в графике matplotlib/pylab?

Я создаю очень простые диаграммы с помощью модуля matplotlib/pylab Python. Буква "y", обозначающая ось Y, находится сбоку. Вы ожидали бы этого, если ярлык был длиннее, например, слово, чтобы не увеличивать внешнюю часть графика слева. Но для однобуквенного ярлыка это не имеет смысла, ярлык должен быть вертикальным. Мои поисковые запросы были опущены. Как я могу напечатать "y" по горизонтали?

4b9b3361

Ответ 1

Это очень просто. После создания метки вы можете просто изменить поворот:

from matplotlib import pyplot as plt
plt.ion()
plt.plot([1,2,3])
h = plt.ylabel('y')
h.set_rotation(0)
plt.draw()

В качестве альтернативы вы можете передать вращение в качестве аргумента, т.е.

plt.ylabel('y',rotation=0)

Ответ 2

Расширение принятого ответа, когда мы работаем с конкретным объектом осей ax:

ax.set_ylabel('abc', rotation=0, fontsize=20, labelpad=20)

Обратите внимание, что часто нужно отрегулировать значение labelpad вручную, иначе "abc" будет вторгаться в график.

Из кратких экспериментов я предполагаю, что labelpad - это смещение между ограничивающей рамкой ярлыков меток и центром y-метки. (Таким образом, не совсем дополнение, которое подразумевает название, было бы более интуитивным, если бы это был пробел для ограничивающего метки.)