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

Python 如何使pyplot图像适合给定轴?,python,matplotlib,Python,Matplotlib,我有轴,每个轴都有限制: 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()

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

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)
我可以看到图像,尽管图形比例错误,网格绘制在错误的比例内:

请看图片上半部分的这条细细的灰线——这是一个比例错误的网格。数字的大小等于图片的大小,我不想看到903x708。我希望使用正确的经纬度轴,这与我尝试使用xlim/ylim设置的轴相同。 我应该怎么做才能修复?

使用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()

谢谢我有时认为范围是绝对的比例。