matplotlib etiqueta del eje y en el lado derecho


¿Hay una manera sencilla de poner la etiqueta del eje y en el lado derecho de la gráfica? Sé que esto se puede hacer para las etiquetas de tick usando ax.yaxis.tick_right(), pero me gustaría saber si también se puede hacer para la etiqueta axis.

Una idea que vino a la mente fue usar

ax.yaxis.tick_right()
ax2 = ax.twinx()
ax2.set_ylabel('foo')

Sin embargo, esto no tiene el efecto deseado de colocar todas las etiquetas (etiquetas tick y axis) en el lado derecho, mientras se preserva la extensión del eje y. En resumen, me gustaría una manera de mover todos los etiquetas del eje y de izquierda a derecha.

Author: Thucydides411, 2012-11-14

2 answers

Parece que puedes hacerlo con:

ax.yaxis.set_label_position("right")

Ver aquí para un ejemplo.

 70
Author: Gerrat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-02 10:11:02

Si desea seguir el ejemplo dado en matplotlib y crear una figura con etiquetas a ambos lados de los ejes pero sin tener que usar la función subplots(), aquí está mi solución :

from matplotlib import pyplot as plt
import numpy as np

ax1 = plt.plot()
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
plt.plot(t,s1,'b-')
plt.xlabel('t (s)')
plt.ylabel('exp',color='b')

ax2 = ax1.twinx()
s2 = np.sin(2*np.pi*t)
ax2.plot(t, s2, 'r.')
plt.ylabel('sin', color='r')
plt.show()

 6
Author: Gourav Mahapatra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-07 17:33:20