如何将pyplot图像拟合到给定轴?

时间:2017-07-13 17:31:51

标签: 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)

然后我尝试将一张satelile照片作为背景并设置网格:

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设置。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

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