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

Python 在背景图像上叠加散点图并改变轴范围,python,image,overlay,matplotlib,Python,Image,Overlay,Matplotlib,我有一组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轴的-5

我有一组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, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 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'参数。

以下代码来自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, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 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”参数