我正在使用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时尝试使用“aspect”,但结果仍然是方形像素:
如何拉伸X轴以填充整个图形尺寸?
谢谢!
编辑:
我已尝试aspect='auto'
和aspect=0.25
,但结果仍然相同!
编辑#2:
我删除了ax.set_aspect(0.5)
和tight_layout
副本,但数字仍未填充图片大小的整个空间
答案 0 :(得分:1)
关键字参数aspect
设置图像的方面。来自the documentation:
方面:['auto'| '相等'|标量],可选,默认值:无
如果'auto',请更改图像宽高比以匹配轴的宽高比 如果'相等'且范围为无,则更改轴纵横比以匹配图像的纵横比。如果extent不是None,则更改轴纵横比以匹配范围的纵横比 如果无,则默认为rc image.aspect value。
因此,我们的想法是使用 aspect='auto'
而不是aspect=4
。
您当然也可以使用数值手动设置方面。然而,对于X方向上的拉伸,方面需要小于1,即aspect=0.25