编程语言
首页 > 编程语言> > 在Python Basemap中绘制曲线

在Python Basemap中绘制曲线

作者:互联网

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

在matplotlib中,这可以使用annotate(..)来完成,但是Basemap没有这个方法.

有任何想法吗?

解决方法:

这是一个非常古老的问题,但我认为无论如何都应该回答这个问题.当你说弯曲的线条时,我认为你的意思是绘制一个great circle.在basemap documentation中有一个完全相同的例子,我已经修改了以便更容易修改自己:

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()

请注意,大圆方法无法处理地图边缘的交叉(as mentioned in the documentation),尽管有明确记载,但这是一个相当大的缺陷恕我直言.

希望能帮助某人,

标签:python,matplotlib,matplotlib-basemap
来源: https://codeday.me/bug/20190630/1340785.html