/ / Stretch imshow os X - python, matplotlib, plot

Stretch imshow X osi - python, matplotlib, plot

Vykresľujem farebnú mapu pomocou programu imshow, ale nedokážem získať obrázok, ktorý sa vodorovne roztiahne!

kód:

ylabels = ["0:00", "03:00", "06:00", "09:00", "12:00", "15:00", "18:00", "21:00"]

fig, ax = plt.subplots(figsize=(27, 7))

cax1 = ax.imshow(df7, origin="lower", cmap="viridis", interpolation="none", aspect=4)
ax.set_xticklabels(label, fontsize = 12)
plt.xticks(np.arange(len(df7.columns)))

major_ticks = np.arange(0, 24, 3)
ax.set_yticks(major_ticks)
ax.set_yticklabels(ylabels, fontsize = 12)


plt.rcParams["xtick.labelsize"] = 12
plt.rcParams["ytick.labelsize"] = 12
fig.autofmt_xdate()



plt.colorbar(cax1,fraction=0.046, pad=0.04)




fig.suptitle("November 2016 Normalized Pressure Data $[mbar]$",fontsize=15)
fig.tight_layout(pad = 1)

plt.show()

fig.savefig("Pressure.png", dpi=300)

Pri volaní imshow som sa pokúsil použiť „aspekt“, ale výsledkom je štvorcový pixel:

tu zadajte popis obrázku

Ako môžem roztiahnuť os X, aby som vyplnil celú veľkosť obrázku?

Ďakujem !

EDIT:

Snažil som sa aspect="auto" a aspect=0.25 ale stále rovnaký výsledok!

EDIT # 2:

Odstránil som ax.set_aspect(0.5) a tight_layout duplikát, ale obrázok stále nevyplňuje celý priestor veľkosti obrázka

odpovede:

1 pre odpoveď č. 1

Argument kľúčového slova aspect nastavuje aspekt obrázka. z dokumentáciu:

aspekt : [„Auto“ | „Rovnaké“ skalárne], voliteľné, predvolené: Žiadne
ak , Auto ', zmení pomer strán obrazu tak, aby zodpovedal pomerom osí.
ak , Rovné 'a rozsah je Žiadny, zmení pomer strán osí tak, aby sa zhodoval s rozmerom obrazu. Ak rozsah nie je žiadny, pomer strán osí sa zmení tak, aby zodpovedal rozsahu.
ak nikto, predvolená hodnota rc image.aspect.

Myšlienka by teda bola použiť aspect="auto" namiesto aspect=4.

Môžete samozrejme použiť aj číselnú hodnotu na manuálne nastavenie pomeru strán. Avšak pre strechu v smere X musí byť aspekt menší ako 1, t.j. aspect=0.25