19

matplotlib.pyplot.scatter を使用して、一連の UTM 座標をプロットしています。また、人物の範囲と正確に一致することがわかっている背景の航空写真もあります。データをプロットして軸を設定すると、散布図を正しく表示できます。imshow を使用して航空写真をプロットすると、ピクセル番号が軸の位置として使用されます。画像 (numpy 配列) を正しい UTM 位置に移動する必要があります。何か案は?私はmatplotlibとnumpyにかなり慣れていません。

例: 画像の左上隅 (imshow 座標: 0,0) には UTM 座標 (269658.4, 538318.2) があることがわかっています。imshow に同じことを伝えるにはどうすればよいですか?

Basemap についても調査しましたが、まだ UTM を完全にサポートしているようには見えません。私の研究領域は非常に狭いです。

4

1 に答える 1

30

extentimshow にはキーワード引数を使用する必要があります。

簡単な例として:

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

ここに画像の説明を入力

于 2012-09-07T19:40:21.027 に答える