3

Matplotlib と Python を使用しています。長方形のグループの結合を描きたい。四角形は接続または切断できます。また、グループ間に重複する領域がないことを知っている他のグループと共通の側面に別の色を割り当てたいと考えています。何か考えはありますか?

ご協力いただきありがとうございます。

精度を上げるためにコードを追加しました。長方形のグループごとにコレクションを作成し、それらに同じエッジの色を付けようとしましたが、1 つの形状 (長方形のグループの周囲) のみを取得するにはどうすればよいですか?

import numpy as np
import matplotlib
from matplotlib.patches import Rectangle
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt


fig=plt.figure()
ax=fig.add_subplot(111)
patches = []
ListCollections=[]

while Cd1:
  while Cd2:
      patches += Rectangle((x,y), 400, 200)

  p = PatchCollection(patches, cmap=None)
  p.set_edgecolor('red')
  p.set_facecolor(None)
  ListCollections.append(p)
  patches =[]


for l in ListCollections:
   ax.add_collection(p)

plt.show()
4

1 に答える 1

2

シェイプリーをご覧ください。明示的なユニオンの例http://toblerity.github.com/shapely/manual.html#object.unionがあります。

Shapely ジオメトリをプロットするには、https://pypi.python.org/pypi/descartesも使用できます。

最後に、結合を matplotlib アーティストと行う必要がある場合は、先日、パスのCohen-Sutherland クリッピング アルゴリズムを実装しました。1 つのポリゴンを別のポリゴンでクリッピングすることは、結合を取得することと同じだと思います。それがあなたの決定したルートである場合は、喜んでコードを共有します (しかし、Shapely を使用しているのに、なぜそうする必要があるのでしょうか!)。

于 2013-03-14T22:12:33.850 に答える