x, y = 1000 * np.random.random((2, 10)) + 50000
image = np.arange(100).reshape((10, 10))
plt.imshow(image, extent=[x.min(), x.max(), y.min(), y.max()])
plt.plot(x, y, 'ro')
Matplotlib imshow offset to match axis?