我制作了许多这样的补丁-
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级别功能(以及为散点图后面的代码提供动力的功能)。
collection