当前位置: 代码迷 >> python >> 拉伸imshow X轴
  详细解决方案

拉伸imshow X轴

热度:74   发布时间:2023-06-13 14:52:48.0

我正在用imshow绘制颜色图,但无法使图形水平伸展!

编码:

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)

我尝试在调用imshow时使用“方面”,但结果仍然是正方形像素:

如何拉伸X轴以填充整个图形大小?

谢谢 !

编辑:

我已经尝试过aspect='auto'aspect=0.25但是结果还是一样!

编辑#2:

我删除了ax.set_aspect(0.5)tight_layout重复项,但该图仍未填充图片大小的整个空间

关键字参数aspect设置图像的外观。 从 :

方面 :['auto'| '等于'| 标量],可选,默认:无
如果为'auto' ,则更改图像纵横比以匹配轴的纵横比。
如果'equal' ,并且range为None,则更改轴的纵横比以匹配图像的纵横比。 如果extent不为None,则更改轴的纵横比以匹配该extent。
如果为None ,则默认为rc image.aspect值。

因此,想法是使用aspect='auto'而不是aspect=4

当然,您也可以使用数字值手动设置外观。 但是,对于X方向上的拉力,长宽比必须小于1,即aspect=0.25