在背景图像上叠加散点图并更改轴范围

问题描述

|| 我有一组要在地图的背景图像上绘制的x,y地图坐标。 我使用以下代码显示地图:
import matplotlib.pyplot as plt
im=plt.imread(\'map.gif\')
implot=plt.imshow(im,origin=\'lower\')
现在,x和y轴的范围是图像的像素值。就我而言,这些是:
im.shape[0] 
545
im.shape[1]
1011
因此,图的x轴从0到1011,y轴从0到545。 该地图实际上在x轴上覆盖-100到+100,在y轴上覆盖-50到50,并且我的x,y坐标值在同一系统上。 如何获得图的x轴从-100到+100,而不是从0到1011?然后重叠绘制我的x,y散点图。     

解决方法

        来自matplotlib站点的以下代码显示了从-3到3的图,请检查一下:
#!/usr/bin/env python
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

delta = 0.025
x = y = np.arange(-3.0,3.0,delta)
X,Y = np.meshgrid(x,y)
Z1 = mlab.bivariate_normal(X,Y,1.0,0.0,0.0)
Z2 = mlab.bivariate_normal(X,1.5,0.5,1,1)
Z = Z2-Z1  # difference of Gaussians

im = plt.imshow(Z,interpolation=\'bilinear\',cmap=cm.gray,origin=\'lower\',extent=[-3,3,-3,3])

plt.show()
重要部分是\'imshow \'的\'extent \'参数。