如何使pyplot图像适合给定的轴?

2024-04-19 20:48:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有轴,每个轴都有限制:

ul_lat, ul_long = (45.499426, 9.119963)
br_lat, br_long = (45.434210, 9.235803)
ax = fig.add_axes([0,0,1,1])
ax.set_xlim(ul_long,br_long)
ax.set_ylim(br_lat,ul_lat)

然后我试着把一张卫星照片作为背景并设置网格:

ax.imshow(image,interpolation='none')
plt.grid()

因此,我看不到图像,只有网格。 现在,如果我取消限制:

    #ax.set_xlim(ul_long,br_long)
    #ax.set_ylim(br_lat,ul_lat)

我可以看到图像,尽管图形比例错误,网格绘制在错误的比例内: enter image description here

请看图片上半部分的灰色细线-这是一个错误的比例网格。数字的大小等于图片的大小我不想(903x708)。我想使用正确的经纬度轴,就像我试图用xlim/ylim设置的一样。 我该怎么做才能修复?你知道吗


Tags: 图像bradd网格错误fig图片ax
1条回答
网友
1楼 · 发布于 2024-04-19 20:48:20

使用imshow,可以指定图像的范围以匹配坐标:

ul_lat, ul_long = (45.499426, 9.119963)
br_lat, br_long = (45.434210, 9.235803)
ax = fig.add_axes([0,0,1,1])
ax.set_xlim(ul_long, br_long)
ax.set_ylim(br_lat, ul_lat)
ax.imshow(image, interpolation='none', extent=[ul_long, br_long, br_lat, ul_lat])
plt.grid()

相关问题 更多 >