gpt4 book ai didi

python - 为什么 matplotlib.PatchCollection 弄乱了补丁的颜色?

转载 作者:太空狗 更新时间:2023-10-29 20:11:23 30 4
gpt4 key购买 nike

我做了很多像这样的补丁 -

node.shape = RegularPolygon((node.posX, node.posY),
6,
radius = node.radius,
edgecolor = 'none',
facecolor = node.fillColor,
zorder = node.zorder)

node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = node.zorder)

最初我只是像这样将它们直接放在我的轴上 -

self.plotAxes.add_artist(node.shape)
self.plotAxes.add_artist(node.brushShape)

效果很好。但现在我想将它们放入 PatchCollection 并将该 PatchCollection 放到轴上。然而,当我这样做时,我所有的形状都是蓝色的。我不明白仅仅放入一个集合中是如何以某种方式改变颜色的。任何人都可以帮助我了解我需要做些什么来保留我输入的颜色值作为补丁的 faceColor 吗?

新代码是——

node.shape = RegularPolygon((node.posX, node.posY),
6,
radius = node.radius,
edgecolor = 'none',
facecolor = node.fillColor,
zorder = node.zorder)

node.brushShape = RegularPolygon((node.posX, node.posY),
6,
node.radius * 0.8,
linewidth = 3,
edgecolor = (1,1,1),
facecolor = 'none',
zorder = node.zorder)

self.patches.append(node.shape)
self.patches.append(node.brushShape)


self.p = PatchCollection(self.patches)
self.plotAxes.add_collection(self.p)

最佳答案

self.p = PatchCollection(self.patches, match_original=True) 

默认情况下,补丁集合会覆盖给定的颜色 ( doc ),以便能够应用颜色映射、循环颜色等。这是一个 collection 级别的功能(并且是什么为散点图背后的代码提供了动力)。

关于python - 为什么 matplotlib.PatchCollection 弄乱了补丁的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492241/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com