このコンストラクターを使用してRegularPolygonsの束を作成します-
node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = brushz)
ご覧のとおり、これらのパッチのエッジを白にします。それらすべてをbrushShapesというリストに入れてから、PatchCollectionを作成します-
self.brushShapesPC = PatchCollection(self.brushShapes, match_original=True)
この方法は、エッジを白に保つことで問題なく機能します。しかし、今はユーザー定義のカラーマップを使用したいです-
colormap = {'red': ((0.0, 0.0, 0.0),
(0.25,0.0, 0.0),
(0.5, 0.8, 1.0),
(0.75,1.0, 1.0),
(1.0, 0.4, 1.0)),
'green': ((0.0, 0.0, 0.0),
(0.25,0.0, 0.0),
(0.5, 0.9, 0.9),
(0.75,0.0, 0.0),
(1.0, 0.0, 0.0)),
'blue': ((0.0, 0.0, 0.4),
(0.25,1.0, 1.0),
(0.5, 1.0, 0.8),
(0.75,0.0, 0.0),
(1.0, 0.0, 0.0))}
これで、PatchCollectionのインスタンス化は-
self.brushShapesPC = PatchCollection(self.brushShapes, cmap=mpl.colors.LinearSegmentedColormap('SOMcolormap', self.colormap))
しかし、今ではエッジは顔と同じ色になっています!だから私がする必要があるのは-新しいカラーマップで白の値がどうなるかを決定し、
edgecolor = (1,1,1)
に
edgecolor = (whatever_white_is)
このコンストラクターで-
node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = brushz)
そうですか?白の値がどうなるかを判断しようとして、私は非常に行き詰まりました。カラーバーを表示すると、真ん中に白が表示されます...(0.5、0.5、0.5)、(0,1,0)などを試しました。誰かが私が何をすべきかを理解するのを手伝ってくれますか?置く?特定のカラーマップの白が何であるかを知る一般的な方法はありますか?