我一直试图在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 你可以看到一点头,但几乎没有。我只是愚蠢地让辩论正确吗?我已经摆弄了很长一段时间......
编辑:是的,我只是为了让辩论正确而愚蠢。我为头部宽度和长度设置了10000,并且可以看到一个箭头。我认为因为底图它以米为单位计算并且让我失望。答案 0 :(得分:3)
我只是没有把论点说得对。在使用的规模上,它至少为10000 head_width和head_length