我在已经存在的图像上的Matplotlib上创建了一个简单的热图,现在我试图显示单元格上的值,但问题是这些值不会进入热图,而是在图像周围,here是一个屏幕截图
我想这是因为我在一张图片上生成了热图,但我不知道如何解决这个问题。这是我的密码:
fig,ax = plt.subplots(1)
ax.imshow(im)
a = [[0.0233188 0.0232844 0.0233099 0.0242786 ]
[0.0233158 0.023217 0.02370096 0.02434176]
[0.02328474 0.02319508 0.02433976 0.02290478]
[0.02320107 0.02345002 0.02484117 0.02355316]
[0.02317872 0.02374418 0.02374605 0.02157998]]
ax1 = fig.add_subplot(111)
bounds1 = sorted([0.023, np.amin(a), np.amax(a)])
norm1 = matplotlib.colors.TwoSlopeNorm(vcenter=bounds1[1], vmin=bounds1[0], vmax=bounds1[2])
Map = ax1.imshow(a, interpolation='none', norm=norm1, extent=[0, 1.15, 0, 0.85])
x1 = [1, 2, 3, 4]
y1 = [1, 2, 3, 4, 5]
for i in range(len(y1)):
for j in range(len(x1)):
text = ax1.text(j, i, a[i, j],
ha="center", va="center", color="r")
extent=[x0, x1, y0, y1]
更改图像的x和y坐标。当x0和x1之间有N个单元时,可以通过将距离分成2N+1
部分并取第一个,第三个第三个,第五个第三个。。。该名单的位置请注意,由于
imshow(a, ...)
没有使用origin='lower'
,因此值是相反的。因此,对于y位置,需要以相反的顺序进行遍历相关问题 更多 >
编程相关推荐