Eu tenho um gráfico de linha simples e preciso mover as marcações do eixo y do lado esquerdo (padrão) do gráfico para o lado direito. Alguma ideia de como fazer isso?
Eu tenho um gráfico de linha simples e preciso mover as marcações do eixo y do lado esquerdo (padrão) do gráfico para o lado direito. Alguma ideia de como fazer isso?
Respostas:
Usar ax.yaxis.tick_right()
por exemplo:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
plt.plot([2,3,4,5])
plt.show()
sharey=True
.
A resposta de joaquin funciona, mas tem o efeito colateral de remover os carrapatos do lado esquerdo dos eixos. Para corrigir isso, tick_right()
ligue para set_ticks_position('both')
. Um exemplo revisado:
from matplotlib import pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
plt.plot([2,3,4,5])
plt.show()
O resultado é um gráfico com marcações em ambos os lados, mas marcadores de marcação à direita.
Caso alguém pergunte (como eu), isso também é possível quando se usa subplot2grid. Por exemplo:
import matplotlib.pyplot as plt
plt.subplot2grid((3,2), (0,1), rowspan=3)
plt.plot([2,3,4,5])
plt.tick_params(axis='y', which='both', labelleft='off', labelright='on')
plt.show()
Vai mostrar isso:
ax.tick_params(axis='y', which='both', labelleft='off', labelright='on')
. Mas isso não move oylabel
plt.gca()
para obter o objeto de eixos atual. Portanto, você usaria:plt.gca().yaxis.set_label_position("right")