2015-01-13 4 views
4

Я уже давно пытаюсь рисовать стрелки на объекте Basemap. Я нашел помощь для рисования линий на карте, но кажется, что стрелка не хочет появляться.Как нарисовать стрелку на объекте Basemap с использованием matplotlib?

from mpl_toolkits.basemap import Basemap 
import matplotlib.pyplot as plt 
import numpy as np 

map = Basemap(projection='merc', lat_0 = 57, lon_0 = -135, 
resolution = 'i', area_thresh = 0.1, 
llcrnrlon=-136.25, llcrnrlat=56.0, 
urcrnrlon=-134.25, urcrnrlat=58) 

map.drawcoastlines() 
map.drawcountries() 
map.drawmapboundary() 

lon = -135.3318 
lat = 57.0799 
x,y = map(lon, lat) 
x2, y2 = map(lon+0.5,lat+0.5) 

plt.arrow(x,y,x2-x,y2-y,fc="k", ec="k", linewidth = 4, head_width=10, head_length=10) 
plt.show() 

В результате я только получаю: http://i.imgur.com/tB6wi2J.png Вы можете увидеть немного головы, но почти ничего. Неужели я просто глуп, чтобы правильно рассуждать? Я долго ходил по магазинам ...

EDIT: Да, я был просто глуп, чтобы правильно аргументировать. Я поставил 10000 на ширину и длину головы, и стрела была видна. Я думаю, из-за базовой карты она вычисляется в метрах, и это меня отбросило.

ответ

2

Я просто не поставил аргументы правильно. На используемой шкале шляпа должна составлять не менее 10000 головок и голосовой длины

Смежные вопросы