我想在基本图映射上绘制弯曲/弧线。我可以使用map.plot(x,y,..)绘制一条直线,但是如何使其弯曲/具有箭头?

在matplotlib中,可以使用注释(..)完成此方法,但是BaseMap没有此方法。

有任何想法吗?

有帮助吗?

解决方案

这是一个非常古老的问题,但我认为无论如何都可能会很好。当您说弯曲线时,我认为您的意思是画一个 大圈子. 。有一个示例是在 基础文档, ,我已经修改了,使自己更容易修改自己:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

m = Basemap(projection='cyl')

p0_ll =  -73.98, 40.78
p1_ll = 0.08, 51.53

m.drawgreatcircle(p0_ll[0], p0_ll[1], p1_ll[0], p1_ll[1], 
                  linewidth=2, color='b')
m.drawcoastlines()
m.fillcontinents()

plt.show()

enter image description here

请注意,Great Circle方法无法处理地图边缘的交叉(如文档中所述)虽然有清晰的记录,但它是一个相当大的缺陷恕我直言。

希望对某人有帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top