2012-09-07 17 views
14

Ben UTM bir demet bir matplotlib.pyplot.scatter kullanarak koordine projem var. Ayrıca, figürün tam olarak eşleştiğini bildiğim bir arka plan hava fotoğrafım var. Verilerimi çizdiğimde ve ekseni ayarladığımda dağılımı doğru olarak görüntüleyebilirim. Hava fotoğrafını imshow kullanarak çizersem, piksel sayısını eksen konumu olarak kullanır. Görüntüyü (numpy dizisi) doğru UTM konumuna kaydırmam gerekiyor. Herhangi bir fikir? Matplotlib ve numpy için oldukça yeni.Matplotlib eşleşme eksenine göre offsset?

Örneğin: UTM (269.658,4, 538318.2) koordinat etti: Ben resmin sol üst köşesi (0,0 koordine imshow) biliyoruz. Aynı şeyi nasıl gösteririm?

Ben de basemap araştırdık ama henüz tam UTM desteklemek için görünmüyor söylemek gerekir. Benim çalışma alanım çok küçük.

cevap

18

Sen imshow için extent kelime argümanını kullanmak gerekir. Hızlı bir örnek olarak

:

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

teşekkür ederiz! Bu tam istediğim şeyi yaptı! API’da neden bu anahtar kelimeyi bulamadığımı bilmiyorum. –

+0

Tüm anahtar kelime argümanlarında çeşitli matplotlib işlevlerine kaybolmak çok kolay. Yine de dokümanlardayım, söz veriyorum! :) Her oranda yardımcı olmaktan memnun oldum. –