问题描述
我正在用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
重复项,但该图仍未填充图片大小的整个空间
1楼
关键字参数aspect
设置图像的外观。
从 :
方面 :['auto'| '等于'| 标量],可选,默认:无
如果为'auto' ,则更改图像纵横比以匹配轴的纵横比。
如果'equal' ,并且range为None,则更改轴的纵横比以匹配图像的纵横比。 如果extent不为None,则更改轴的纵横比以匹配该extent。
如果为None ,则默认为rc image.aspect值。
因此,想法是使用aspect='auto'
而不是aspect=4
。
当然,您也可以使用数字值手动设置外观。
但是,对于X方向上的拉力,长宽比必须小于1,即aspect=0.25