2012-09-07 11 views
14

私は、matplotlib.pyplot.scatterを使用してUTM座標の束をプロットしています。私はまた、私が知っているバックグラウンドの写真を持っています。正確に数字の範囲にマッチします。私のデータをプロットし、軸を設定すると、散乱を正しく表示できます。 imshowを使用して空気写真をプロットすると、ピクセル番号が軸の位置として使用されます。私は正しいUTM位置にイメージ(numpy配列)をシフトする必要があります。何か案は?私はmatplotlibとnumpyにかなり新しいです。Matplotlib imshow軸に一致するようにオフセットされていますか?

たとえば、画像の左上隅(imshow座標:0,0)にUTM座標(269658.4,538318.2)があることがわかりました。 imshowに同じことをどのように伝えますか?

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

答えて

18

imshowにはキーワードextentを使用する必要があります。簡単な例として、

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

enter image description here

+0

ありがとうございました!これはまさに私が望んだことでした!なぜAPIでそのキーワードが見つからないのか分かりません。 –

+0

さまざまなmatplotlib関数のすべてのキーワード引数で紛失するのは簡単です。それはドキュメントにありますが、私は約束します! :)どんな速度であれ、喜んで助けてください。 –

関連する問題