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:
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ď č. 1Argument 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