私は10,000 + Matplotlib Polygonオブジェクトのリストを持っています。各ポリゴンは20のグループのうちの1つに属します。各ユニークなグループをユニークな色にマッピングすることによって、ポリゴンが属するグループを区別したいと思います。ポリゴンの色を設定するMatplotlib
Fill polygons with multiple colors in python matplotlib
How to fill polygons with colors based on a variable in Matplotlib?
How do I set color to Rectangle in Matplotlib?
これらのソリューションは、単にリスト内の各形状にランダムな色を適用します。
ここで私は私に同様の問題を発見したいくつかの記事があります。それは私が探しているものではありません。私にとっては、特定のグループに属する各図形は同じ色でなければなりません。何か案は?
サンプル・コード:このコードを実行する場合poly_verticesとpoly_colorsが定義されていないので、それが動作しないこと
from matplotlib.collections import PatchCollection
from matplotlib.patches import Polygon
from matplotlib import pyplot as plt
patches = []
colors = []
num_polys = 10000
for i in range(num_polys):
patches.append(Polygon(poly_vertices[i], closed=True))
colors.append(poly_colors[i]) # This line is pointless, but I'm letting you know that
# I have a particular color for each polygon
fig, ax = plt.subplots()
p = PatchCollection(patches, alpha=0.25)
ax.add_collection(p)
ax.autoscale()
plt.show()
は注意してください。ここでは、poly_verticesはポリゴンの頂点のリストであり、poly_colorsはRGBの色のリストであり、各リストには10000のエントリがあると仮定します。例えば
:poly_vertices [0] = [(0,0)、(1,0)、(0,1)]、色[0] = [1、0,0]
ありがとう!