¿Cómo alineo GridSpec para que se vea así?
|‾ ‾ ‾ ‾| |‾ ‾| |‾ ‾|
| | |_ _| |_ _|
| | |‾ ‾| |‾ ‾|
|_ _ _ _| |_ _| |_ _|
He probado lo siguiente:
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
import numpy as np
gs = GridSpec(2, 3, hspace=-0.1)
fig = plt.figure()
ax1 = fig.add_subplot(gs[:2,:2])
ax2 = fig.add_subplot(gs[0, 2])
ax3 = fig.add_subplot(gs[1, 2])
ax1.set_aspect("equal")
ax2.set_aspect("equal")
ax3.set_aspect("equal")
plt.show()
producción:
Pero al ajustar el ancho y la altura de la trama manualmente, el espaciado no se conserva:
¿Es posible especificar esta restricción de alguna manera?
Solución del problema
Después de leer esta página de tutorial, esto es lo más cerca que pude estar:
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
fig = plt.figure(constrained_layout=True)
gs0 = fig.add_gridspec(1, 2)
gs00 = gs0[0].subgridspec(1, 1)
ax0 = fig.add_subplot(gs00[0, 0])
gs01 = gs0[1].subgridspec(2, 2)
ax1 = fig.add_subplot(gs01[0, 0])
ax2 = fig.add_subplot(gs01[0, 1])
ax3 = fig.add_subplot(gs01[1, 0])
ax4 = fig.add_subplot(gs01[1, 1])
fig
No hay comentarios.:
Publicar un comentario