libreria - plot() python
Cómo compartir el eje y secundario entre subparcelas en matplotlib (1)
Puedes usar Axes.get_shared_y_axes()
así:
from numpy.random import rand
import matplotlib
matplotlib.use(''gtkagg'')
import matplotlib.pyplot as plt
# create all axes we need
ax0 = plt.subplot(211)
ax1 = ax0.twinx()
ax2 = plt.subplot(212)
ax3 = ax2.twinx()
# share the secondary axes
ax1.get_shared_y_axes().join(ax1, ax3)
ax0.plot(rand(1) * rand(10),''r'')
ax1.plot(10*rand(1) * rand(10),''b'')
ax2.plot(3*rand(1) * rand(10),''g'')
ax3.plot(10*rand(1) * rand(10),''y'')
plt.show()
Aquí solo estamos uniendo los ejes secundarios juntos.
Espero que ayude.
Si tiene varias subparcelas que contienen un eje y secundario (creado con Twinx ), ¿cómo puede compartir estos ejes y secundarios entre las subparcelas? Quiero que se escalen por igual de forma automática (de modo que no establezca los límites de y luego a mano). Para el eje y primario, esto es posible usando la palabra clave sharey en la llamada de subplot .
El siguiente ejemplo muestra mi intento, pero no comparte el eje y secundario de ambas subparcelas. Estoy usando Matplotlib / Pylab:
ax = []
#create upper subplot
ax.append(subplot(211))
plot(rand(1) * rand(10),''r'')
#create plot on secondary y-axis of upper subplot
ax.append(ax[0].twinx())
plot(10*rand(1) * rand(10),''b'')
#create lower subplot and share y-axis with primary y-axis of upper subplot
ax.append(subplot(212, sharey = ax[0]))
plot(3*rand(1) * rand(10),''g'')
#create plot on secondary y-axis of lower subplot
ax.append(ax[2].twinx())
#set twinxed axes as the current axes again,
#but now attempt to share the secondary y-axis
axes(ax[3], sharey = ax[1])
plot(10*rand(1) * rand(10),''y'')
Esto me da algo como:
La razón por la que usé la función axes () para establecer el eje y compartido es que twinx no acepta la palabra clave sharey .
Estoy usando Python 3.2 en Win7 x64. La versión de Matplotlib es 1.2.0rc2.