拉伸imshow X轴

时间:2017-02-09 21:03:14

标签: python matplotlib plot

我正在使用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”,但结果仍然是方形像素:

enter image description here

如何拉伸X轴以填充整个图形尺寸?

谢谢!

编辑:

我已尝试aspect='auto'aspect=0.25,但结果仍然相同!

编辑#2:

我删除了ax.set_aspect(0.5)tight_layout副本,但数字仍未填充图片大小的整个空间

1 个答案:

答案 0 :(得分:1)

关键字参数aspect设置图像的方面。来自the documentation

  

方面:['auto'| '相等'|标量],可选,默认值:无
    如果'auto',请更改图像宽高比以匹配轴的宽高比   如果'相等'且范围为无,则更改轴纵横比以匹配图像的纵横比。如果extent不是None,则更改轴纵横比以匹配范围的纵横比   如果,则默认为rc image.aspect value。

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

您当然也可以使用数值手动设置方面。然而,对于X方向上的拉伸,方面需要小于1,即aspect=0.25