2010-12-15 17 views
4

私はBasemapマップ上に曲線/円弧線をプロットしたいと思います。 map.plot(x、y、..)を使用して直線をプロットすることはできますが、曲線を描く/矢印を付けるにはどうすればよいですか?Python Basemapで曲線をプロットする

matplotlibでは、これはannotate(..)を使用して行うことができますが、Basemapにはこのメソッドはありません。

アイデア?

+0

いいえ、1つの解決策、つまりmapオブジェクトの代わりにmatplotlib.pyplotを描画するだけです。しかし、これでは、地球儀を「折り返す」ような行為はできません – Ash

答えて

3

これは非常に古い質問ですが、とにかく答えるのが良いかもしれないと思いました。あなたが曲線を言ったとき、私はあなたが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() 

enter image description here

注意マップの端(as mentioned in the documentation)は、明らかに文書化されていますが、かなり大きな欠陥です。

誰かを助ける希望

関連する問題