pyplot python matplotlib

Cómo hacer que los ejes ocupen múltiples subparcelas con pyplot(Python)



pyplot title (3)

Me gustaría tener tres parcelas en una sola figura. La figura debe tener un diseño de subparcela de dos por dos, donde la primera parcela debe ocupar las dos primeras celdas de subparcela (es decir, la primera fila completa de celdas de la parcela) y las otras parcelas deben colocarse debajo de la primera en las celdas 3 y 4. Sé que matlab lo permite utilizando el comando de subplot como

subplot(2,2,[1,2]) % the plot will span subplots 1 and 2

¿También es posible en pyplot que un solo eje ocupe más de una subparcela? La cadena de documentación de pyplot.subplot no habla de ello.

¿Alguien tiene una solución fácil? Gracias por adelantado


Para tener múltiples subplots con un eje ocupado, simplemente puede hacer:

from matplotlib import pyplot as plt import numpy as np b=np.linspace(-np.pi, np.pi, 100) a1=np.sin(b) a2=np.cos(b) a3=a1*a2 plt.subplot(221) plt.plot(b, a1) plt.title(''sin(x)'') plt.subplot(222) plt.plot(b, a2) plt.title(''cos(x)'') plt.subplot(212) plt.plot(b, a3) plt.title(''sin(x)*cos(x)'') plt.show()

Otra forma es

plt.subplot(222) plt.plot(b, a1) plt.title(''sin(x)'') plt.subplot(224) plt.plot(b, a2) plt.title(''cos(x)'') plt.subplot(121) plt.plot(b, a3) plt.title(''sin(x)*cos(x)'') plt.show()



Simplemente puedes hacer:

x = numpy.arange(0, 7, 0.01) subplot(2, 1, 1) plot(x, sin(x)) subplot(2, 2, 3) plot(x, cos(x)) subplot(2, 2, 4) plot(x, sin(x)*cos(x))

es decir, la primera gráfica es realmente una gráfica en la mitad superior (la figura solo se divide en 2x1 = 2 celdas), y las dos gráficas más pequeñas siguientes se realizan en una cuadrícula de 2x2 = 4 celdas. El tercer argumento para subplot() es la posición de la trama dentro de la cuadrícula: por ejemplo, en el segundo subplot ( subplot(2, 2, 3) ), los ejes irán a la tercera sección de la matriz 2 * 2, es decir, a la esquina inferior izquierda.