trazado de subplots escaladas automáticamente con límites fijos en matplotlib

¿Cuál es la mejor manera en matplotlib de hacer una serie de subplots que tienen todas las mismas escalas X e Y, pero donde éstas se calculan en función de los rangos mínimo / máximo de la ttwig secundaria con los datos más extremos? Por ejemplo, si tiene una serie de histogtwigs que desea trazar:

# my_data is a list of lists for n, data in enumerate(my_data): # data is to be histogram plotted subplot(numplots, 1, n+1) # make histogram hist(data, bins=10) 

Cada histogtwig tendrá diferentes rangos / marcas para los ejes X e Y. Me gustaría que fueran todos iguales y se establecieran en función de los límites de histogtwig más extremos de los histogtwigs trazados. Una forma torpe de hacerlo es registrar el mínimo / máximo de los ejes X / Y para cada gráfico, y luego iterar a través de cada subplot una vez que se hayan trazado y solo sus ejes después de que se hayan trazado, pero debe haber una mejor manera en matplotlib.

¿Se puede lograr esto por alguna variante de ejes que se comparte?

Matplotlib / Pyplot: ¿Cómo hacer zoom de subplots juntos?

http://matplotlib.org/examples/pylab_examples/shared_axis_demo.html

http://matplotlib.org/users/recipes.html

citando el último enlace:

Fernando Pérez ha proporcionado un buen método de nivel superior para crear en subplots () (observe la “s” al final) todo a la vez, y desactive x e y compartir para todo el grupo. Puedes desempaquetar los ejes individualmente:

 # new style method 1; unpack the axes fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True, sharey=True) ax1.plot(x) 

o recupérelos como una matriz de objetos numrows x numcolumns que admite la indexación numpy:

 # new style method 2; use an axes array fig, axs = plt.subplots(2, 2, sharex=True, sharey=True) axs[0,0].plot(x) 

Si tiene una versión anterior de matplotlib el siguiente método debería funcionar (también se menciona en el último enlace)

Creación sencilla de subplots En las primeras versiones de matplotlib, si deseaba utilizar la API pythonic y crear una instancia de figura y crear una cuadrícula de subplots, posiblemente con ejes compartidos, implicaba una buena cantidad de código repetitivo. P.ej

 # old style fig = plt.figure() ax1 = fig.add_subplot(221) ax2 = fig.add_subplot(222, sharex=ax1, sharey=ax1) ax3 = fig.add_subplot(223, sharex=ax1, sharey=ax1) ax3 = fig.add_subplot(224, sharex=ax1, sharey=ax1)