私は、ベースマップ上に塗りつぶした矩形をプロットする方法を探しています。私は簡単にdrawgreatcircle
メソッドを使って矩形の辺を描くことができましたが、実際にこれらの矩形を塗りつぶす方法(色とアルファを指定する方法)を見つけることができません。ベースマップに長方形を描く方法
10
A
答えて
24
matplotlib.patches.Polygon()を軸に直接追加できます。問題は、四角形がプロット座標(プロット上の直線)またはマップ座標(プロット上の大きな円)で定義されるかどうかです。いずれにしても、マップ座標で頂点を指定し、Basemapインスタンス(下の例ではm()
)を呼び出して、それらをプロット座標に変換し、Polygonを自分で作成し、レンダリングする軸に手動で追加します。同じアプローチを使用して、マップ座標で定義された長方形の場合
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def draw_screen_poly(lats, lons, m):
x, y = m(lons, lats)
xy = zip(x,y)
poly = Polygon(xy, facecolor='red', alpha=0.4)
plt.gca().add_patch(poly)
lats = [ -30, 30, 30, -30 ]
lons = [ -50, -50, 50, 50 ]
m = Basemap(projection='sinu',lon_0=0)
m.drawcoastlines()
m.drawmapboundary()
draw_screen_poly(lats, lons, m)
plt.show()
が、座標をプロットするために変換する前に、マップスペースに自分のラインを補間:プロットの座標定義された長方形の場合
は、ここでの例です。各線について、あなたは何をする必要があります:
lats = np.linspace(lat0, lat1, resolution)
lons = np.linspace(lon0, lon1, resolution)
次に、これらのマップは(m()
と上記のように、)座標をプロットし、再びプロット座標を持つポリゴンを作成するための座標変換します。
1
上記と同様の答えが、より基本的なコード:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
map = Basemap(projection='cyl')
map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='coral',lake_color='aqua')
map.drawcoastlines()
x1,y1 = map(-25,-25)
x2,y2 = map(-25,25)
x3,y3 = map(25,25)
x4,y4 = map(25,-25)
poly = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],facecolor='red',edgecolor='green',linewidth=3)
plt.gca().add_patch(poly)
plt.show()
関連する問題
- 1. 長方形を描く方法は?
- 2. Cocos2dで長方形を描く
- 3. JListから長方形を描く方法選択
- 4. mathematicaで長さnの三角形グリッドを描く方法
- 5. Opencv(Android)で等高線の周りに長方形を描く方法は?
- 6. アンドロイドアクティビティで波形を描く方法
- 7. 描画長方形と楕円
- 8. iOSでの長方形の描画
- 9. Swift:MapKitViewで正方形を描くには
- 10. 固定長方形の長方形パッキング
- 11. Java Swing - ボタンをクリックした後に連続した長方形を描く
- 12. Html 5キャンバスで傾斜した長方形を描画する方法?
- 13. XY軸を持つグラフに矩形を描く方法Qt
- 14. SpriteKitで長方形に穴を描きますか?
- 15. 3点間の正方形を描く
- 16. キャンバスに破線の四角形を描く方法は?
- 17. JavaCVで矩形を輪郭に描く方法は?
- 18. 開始点と終了点を使用して長方形を描くC#
- 19. 2D用のDirectX/3Dで丸みを帯びた長方形を描く
- 20. ココアで(〜200)色の長方形の束を描く最も良い方法は何ですか?
- 21. 長方形
- 22. 長方形イベントプログラム
- 23. CSS3を使用して次の図形を描く方法
- 24. ループを使用して四角形を描く方法は?
- 25. QUARTZ 2Dで三角形を描く方法は?
- 26. Cで角丸四角形を描く方法#
- 27. 同心円の六角形を描く方法は?
- 28. タートルモジュールで円と六角形を描く方法は?
- 29. 長方形/楕円形プログラム
- 30. Tiled for 2dベースマップの使用方法?