在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