Próbuję utworzyć figurę, która składa się z siatki 2x2, gdzie w każdym kwadrancie znajdują się 2 pionowo ułożone partycje (to jest siatka 2x1). Nie potrafię jednak wymyślić, jak to osiągnąć.Matplotlib - dodawanie subplots do subplot?
Najbliższe, jakie dostałem, to używanie gridspec i trochę brzydkiego kodu (patrz poniżej), ale ponieważ gridspec.update(hspace=X)
zmienia odstępy dla wszystkich wątków, nadal nie jestem tam, gdzie chciałbym być.
Idealnie, czego chcę, to użycie poniższego rysunku jako przykładu, zmniejszenie odstępu między partiami w każdym kwadrancie, przy jednoczesnym zwiększeniu pionowego odstępu między górnymi i dolnymi kwadrantami (tj. Między 1-3 a 2-4).
Czy istnieje sposób na to (z użyciem lub bez użycia siatki)? To, co początkowo planowałem, to generowanie każdej z siatek pod-wątków (tj. Każdej siatki 2x1) i wstawianie ich do większej siatki 2x2 subplotów, ale nie wymyśliłem, jak dodać subplot do subplota, jeśli jest nawet sposób.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.figure(figsize=(10, 8))
gs = gridspec.GridSpec(4,2)
gs.update(hspace=0.4)
for i in range(2):
for j in range(4):
ax = plt.subplot(gs[j,i])
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tick_params(which='both', top='off', right='off')
if j % 2 == 0:
ax.set_title(str(i+j+1))
ax.plot([1,2,3], [1,2,3])
ax.spines['bottom'].set_visible(False)
ax.get_xaxis().set_visible(False)
else:
ax.plot([1,2,3], [3,2,1])
doskonałe, dziękuję :) – user3014097