【问题标题】:How to draw an arrow on an Basemap object using matplotlib?如何使用 matplotlib 在 Basemap 对象上绘制箭头?
【发布时间】:2015-03-11 16:00:24
【问题描述】:

我已经尝试在 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,并且可以看到一个箭头。我认为由于底图的原因,它以米为单位计算,这让我很失望。

【问题讨论】:

    标签: python matplotlib matplotlib-basemap


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 2013-06-29
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 2021-05-06
      相关资源
      最近更新 更多