私はGISデータベースからデータを読み込み、mpl_toolkits.basemapとmatplotlibでマップを作成しています。データの中には、複雑なポリゴン(外部リングと内部リングで定義)を作成するものがあります。しかし、私はどのように穴を持つポリゴンを作成するかを追跡することができませんでした。これはmatplotlibでも可能ですか?この画像を作成する別の方法がありますか?複雑なポリゴンをプロットする方法は?
0
A
答えて
1
旧質問のように穴を意味するかもしれませんが、...
ちょうど明示的に外部と内部の境界を閉鎖し、それらを合計。技術的には、継ぎ目がありますが、色の引数を指定した場合は表示されません。なぜこれが当てはまるのか正確にはわかりません。
#!/usr/bin/env python3
import matplotlib.pyplot as plt
# a 4x4 box (counterclockwise)
ext_x = [2, -2, -2, 2, 2]
ext_y = [2, 2, -2, -2, 2]
# a 2x2 hole in the box (clockwise)
int_x = [item/2.0 for item in ext_x][::-1]
int_y = [item/2.0 for item in ext_y][::-1]
# if you don't specify a color, you will see a seam
plt.fill(ext_x+int_x, ext_y+int_y, color='blue')
plt.show()
0
fill_between()についてはどうですか?
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.fill_between
あなたはあなたの姿1 fill_betweenを構築することができるはず私は、ポリゴンをやってのけることが正確にどのようにわからないんだけど、それはこの
import numpy as np
import matplotlib.pylab as plt
x=np.arange(-3,3.5,.5)
y1=-x**2+9
y2=-x**2+10
plt.fill_between(x,y1,y2)
のように動作しますあなたが望むものがあるまでは、一度に。
またはおそらくpath。これらのscreenshotsをチェックし、近くに何かがあるかどうかを確認してください。
編集:あなたはこの
import numpy as np
import matplotlib.pylab as plt
x=np.arange(-3,3.5,.5)
y1=-x**2+9
y2=0
plt.fill_between(x,y1,y2)
circ=plt.Circle((0,4),2,color='w')
ax=plt.gca()
ax.add_patch(circ)
plt.show()
4
実際には、穴があるポリゴンをmatplotlibにプロットすることができます。トリックは、PathとPathPatchを使用することです。例えば:
import matplotlib.pyplot as plt
from matplotlib.patches import PathPatch
from matplotlib.path import Path
axes = plt.gca()
path = Path([(2,2) ,(2,-2) ,(-2,-2) ,(-2,2) ,(0,0) ,(1,0) ,(-1,1) ,(-1,-1) ,(0,0) ],
[Path.MOVETO,Path.LINETO,Path.LINETO,Path.LINETO,Path.CLOSEPOLY,Path.MOVETO,Path.LINETO,Path.LINETO,Path.CLOSEPOLY])
patch = PathPatch(path)
axes.set_xlim(-3,3)
axes.set_ylim(-3,3)
axes.add_patch(patch)
plt.savefig('example.png')
plt.close('all')
this example上記結果(まだ画像を投稿することはできません)。 巻線の順序が重要であるように見えることに注意してください。
関連する問題
- 1. 複雑なポリゴンを分解するアルゴリズム
- 2. Leaflet.jsと複雑なポリゴン
- 3. 複雑なI/Qデータをプロットする
- 4. 複雑なポリゴンGoogleマップAPI v3の
- 5. Android GoogleはfillColorを使って複雑なポリゴンを描画する方法をマップします
- 6. 複雑なプロット(SPLOM)のHmiscラベル
- 7. プロット3Dポリゴン
- 8. 複雑なプロットのマニュアル凡例を作成する
- 9. 2Dでプロットする3Dポリゴン
- 10. 複雑な条件でデータを選択する方法は?
- 11. Doctrine2エンティティ内で複雑なクエリを実行する方法は?
- 12. 複雑な数式を自動入力する方法は?
- 13. 複雑な数式を書式設定する方法は?
- 14. より複雑なAngular 2アプリケーションを構成する方法は?
- 15. (複雑な)パネルパターンを決定する方法は?
- 16. ASP.NET MVCで複雑なビューモデルを作成する方法は?
- 17. 複雑な修正を実装する方法は?
- 18. AbstractTableModelで複雑なクラスを表現する方法は?
- 19. 複雑なOleDBクエリをパラメータ化する方法は?
- 20. 複雑なフォームでtabindexを処理する方法は?
- 21. 複雑なMongoDbドキュメントIDを定義する方法は?
- 22. Javascriptで複雑なリストをソートする方法は?
- 23. Firebaseで複雑なオブジェクトをフィルタリングする方法は?
- 24. この複雑なjson配列を分割する方法は?
- 25. 複雑なオブジェクトの要素を要約する方法は?
- 26. は、Pythonの「複雑な」トリングを印刷する方法
- 27. 複雑なアイテムをテクスチャにキャッシュし、実際の複雑なアイテムのメモリを解放する方法は?
- 28. 角をつける方法JSは複雑なjsonを得る
- 29. リファクタリング本当に複雑な方法(春)
- 30. 命名複雑な方法が
これは間違いなくポリゴンを作成しますが、ポリゴンには穴がありません。 –
私は "それの穴"を理解するとは思わない。私はあなたが中空を意味すると思った。穴の大きさは、私が想像していたように、y2をy1に関連付けるところで決まります。 – Matt