当我有三个数组时,我正在尝试创建图像,前两个数组包含x和y方向的像素坐标,而第三个数组具有每个像素应具有的值。在x方向上有275个像素,在y方向上有72个像素。x数组由条目1的72倍组成,然后由条目2的72倍组成,依此类推。 y数组由最多计数为72的条目组成,然后再次从头开始,因此总数为72 275次。对于这些像素点中的每一个,我都有一个特定的像素值rad。
fig = figure()
frame = fig.add_subplot(1,1,1)
im = frame.imshow((ix, iy, rad), cmap="inferno")
fig.colorbar(im)
show()
但是输出图像看起来是平坦的而不是正方形的。
代码输出
谢谢!
答案 0 :(得分:0)
您似乎想要的是pcolormesh,而不是imshow。当您要显示数组时,imshow效果最佳。因此,只会以rad为论点。相反,您希望使用带有x和y坐标的pcolor,以及一个显示每个x,y坐标值的数组。
要注意的是ix,iy和rad都必须是相同的暗度才能使pcolor起作用。但是,使用numpy.meshgrid
很容易,它将使用它们来生成您需要的数组。请尝试以下操作:
xx,yy = numpy.meshgrid(ix,iy)
frame.pcolormesh(xx,yy,rad,cmap='inferno')
这应该有效。