Python Matplotlib Mapa bazowa nakłada mały obraz na wykresie mapy

Kreślę dane ze statku powietrznego na mapie i chciałbym wstawić ten obraz PNG samolotu o wymiarach 75 na 29 pikseli na współrzędne ostatniego punktu danych na wykresie.

samolot http://i45.tinypic.com/mslr86.jpg

O ile wiem i przeczytałempyplot.imshow() to najlepszy sposób, aby to osiągnąć. Jednak odkładam słuchawkę na kroku 1, aby obraz był nawet wyświetlany. Używając normalnego wykresu zamiast mapy bazowej, łatwo jest uzyskać obraz przy użyciu imshow, ale podczas korzystania z mapy bazowej nie mogę go wyświetlić. Zobacz przykładowy kod.

Jeśli uda mi się wyświetlić obraz na mapie, zakładam, że mogę, metodą prób i błędów, ustawić jego pozycję i niektóre odpowiednie wymiary za pomocąextent atrybutimshow(), ze współrzędnymi wykresu przeliczonymi ze współrzędnych mapyx,y = m(lons,lats).

Oto przykładowy kod (aby go wypróbować, możesz pobrać obraz samolotu powyżej).

from matplotlib import pyplot as plt
from mpl_toolkits.basemap import Basemap
import Image
from numpy import arange

lats = arange(26,29,0.5)
lons = arange(-90,-87,0.5)

m = Basemap(projection='cyl',llcrnrlon=min(lons)-2,llcrnrlat=min(lats)-2,
            urcrnrlon=max(lons)+2,urcrnrlat=max(lats)+2,resolution='i')

x,y = m(lons,lats)
u,v, = arange(0,51,10),arange(0,51,10)
barbs = m.barbs(x,y,u,v)
m.drawcoastlines(); m.drawcountries(); m.drawstates()

img = Image.open('c130j_75px.png')
im = plt.imshow(img, extent=(x[-1],x[-1]+50000,y[-1],y[-1]+50000))
plt.show()

Oto wynikowy obraz, który nie zawiera śladu samolotu. Korzystałem z kilku różnych rozmiarówextent, myśląc, że mogłem po prostu uczynić go zbyt małym, ale bez powodzenia. Próbowałem też ustawićzorder=10, ale także bez szczęścia. Każda pomoc byłaby doceniana.

wynik http://i45.tinypic.com/35mgnev.jpg

Aktualizacja: Teraz mogę uzyskać obraz, aby przynajmniej pojawił się przy użycium.imshow zamiastplt.imshow, ponieważ pierwszy przechodzi w instancji osi mapy, aleextent argument wydaje się nie mieć wpływu na wymiary obrazu, ponieważ zawsze wypełnia cały wykres bez względu na to, jak mały jestemextent wymiary, nawet jeśli ustawię je na zero. Jak mogę odpowiednio skalować obraz samolotu i ustawić go w pobliżu ostatniego punktu danych?

im = m.imshow(img, extent=(x[-1],x[-1]+5,y[-1],y[-1]+2))

result2 http://i50.tinypic.com/2ntdy0o.jpg

questionAnswers(2)

yourAnswerToTheQuestion