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

Ans*_*ion 5 python matplotlib matplotlib-basemap

我一直试图在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()
Run Code Online (Sandbox Code Playgroud)

结果我只得到:http: //i.imgur.com/tB6wi2J.png 你可以看到一点头,但几乎没有.我只是愚蠢地让辩论正确吗?我已经摆弄了很长一段时间......

编辑:是的,我只是愚蠢得到正确的论点.我为头部宽度和长度放了10000,并且可以看到一个箭头.我认为因为底图它以米计算并且让我失望.

Ans*_*ion 3

我只是没有提出正确的论点。在使用的规模上,它的 head_width 和 head_length 至少为 10000