python - 深度学习中关于imshow和contourf的区别

2023-05-16

在这里插入图片描述

在深度学习的时刻预测中,需要将挑选随机个例验证训练模型的效果。通常绘制三幅子图, 分别是:x_test,y_test,y_pred。来对比预测的结果与真值以及实际输出的数据的差异。这是从肉眼上直观的去检测预测的效果,一般,从左到右依次是x_test,y_test,y_pred。

但是如上图,所示,我发现我制作的label和实际的存在一些区别。上图中,左图为为imshow绘制的x_test,y_test。
对比发现, 在以左图为真值的情况下,右图明显label出现了上下颠倒的情况。

本来以为是自己输出label的时候设置错了,但是使用画上经纬度时,又没有问题。如下所示,下图是使用的contourf+scatter绘制的,可以发现是对的上。
在这里插入图片描述
同样的,我使用plt.contourf 绘制标签发现,也是能够对的上的
在这里插入图片描述
所以,这可以验证,我的label数据是没有问题。

经过google发现了问题:

在Matplotlib中,图像的原点(0,0)在左下角,而数组的原点通常在左上角。如果没有正确处理坐标系,可能会导致绘制的图像上下翻转。

所以imshow是从左上角认为是图像的原点,解决办法也很简单:
plt.imshow(data, extent=[0.5, 3.5, 0.5, 3.5], origin='lower')加个origin命令就行,它原本默认是”upper“

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python - 深度学习中关于imshow和contourf的区别 的相关文章

随机推荐