如何在使用matplotlib的Basemap对象上绘制箭头?

6

我已经尝试了很长时间在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,箭头就可见了......我认为因为基础地图是按米计算,这让我感到困惑。
1个回答

3

我只是没有正确地放置参数。在使用的比例尺上,头宽和头长至少要达到10000。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接