2015-01-13 5 views
4

나는 꽤 오랫동안 Basemap 객체에 화살표를 그려 내려고 노력해 왔습니다. 지도에서 선을 그릴 때 도움을 얻었지만 화살촉이 나타나기를 원하지 않는 것 같습니다. matplotlib를 사용하여 Basemap 객체에 화살표를 그리는 방법은 무엇입니까?

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을 넣었고 화살이 보였다. 나는 그것이 basemap 때문에 미터로 계산하고 그것은 나를 버렸다.

답변

2

나는 인수를 올바르게하지 않았습니다. 10000 head_width 및 head_length가되도록 모자를 사용했습니다.