我绘制了一堆UTM的坐标使用matplotlib.pyplot.scatter。 我也有一个背景空气的照片,我知道这个数字的程度完全匹配。 当我绘制我的数据和设置轴我会正确地显示散射。 如果我绘制利用空气照片imshow它使用像素数为轴心位置。 我需要的图像(numpy的阵列)转移到它的正确位置UTM。 有任何想法吗? 我是相当新的matplotlib和numpy的。
例如:我知道,图像的左上角(imshow坐标:0,0)具有UTM坐标(269658.4,538318.2)。 我如何告诉imshow是一回事吗?
我还要说,我调查底图,但它似乎并不完全支持UTM呢。 我的研究领域是非常小的。
您需要使用的extent
关键字参数imshow。
作为一个简单的例子:
import numpy as np
import matplotlib.pyplot as plt
# Random points between 50000 and 51000
x, y = 1000 * np.random.random((2, 10)) + 50000
# A 10x10 "image"...
image = np.arange(100).reshape((10,10))
# In a lot of cases, image data will be "flipped" vertically, so you may need
# use the `origin` kwarg, as well (or just swap the ymin and ymax ordering).
plt.imshow(image, extent=[x.min(), x.max(), y.min(), y.max()])
plt.plot(x, y, 'ro')
plt.show()