作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我做了很多像这样的补丁 -
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/
我是一名优秀的程序员,十分优秀!