当前位置: 首页 > 面试题库 >

为什么matplotlib.PatchCollection会弄乱补丁的颜色?

桓深
2023-03-14
问题内容

我制作了许多这样的补丁-

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级别功能(以及为散点图后面的代码提供动力的功能)。



 类似资料:
  • 问题内容: 我的问题就像标题说的那样:为什么我们需要9个补丁的图像?他们真的那么重要吗?其实,他们真正在做什么?我没有清楚地了解9色块图像的概念。 我知道9补丁图像是可伸缩的。因此,假设我有一些完全适合我的ldpi设备的图像按钮。使用Draw 9-patch工具(android SDK的一部分),我可以标记可缩放区域,并且该图像非常适合hdpi甚至xhdpi设备。边缘会很光滑。 但这真的是很好的实

  • 问题内容: 我正在尝试在Eclipse中输入一对尖括号,例如“ <>”。但是,它显示为单引号和一个点,例如“’”。我尝试了几次,发现尖括号实际上位于反斜杠的位置。 为什么会这样呢?我该如何改回来? 提前致谢。 习 问题答案: 我认为这与Windows的令人讨厌的功能有关-很长时间以来,我在不同的程序(不仅仅是Eclipse)中都有类似的东西。 如果您使用的是非英语版本的Windows,则可能安装了

  • 问题内容: 我有两个档案 秒杀 test_spike.py: 当我运行时,第一个测试用例将通过,但是第二个将失败。而我切换到use ,则两个都失败了。 我不明白这是怎么发生的?这些情况本应全部通过。 问题答案: 对于 test_foo, 您没有正确使用补丁。您应该像这样使用它: 这给了我: 现在,第二个示例不起作用,因为您导入了bar函数(获取对其的引用),然后尝试对其进行模拟。模拟某些内容时,您

  • Git 中的一些命令是以引入的变更即提交这样的概念为中心的,这样一系列的提交,就是一系列的补丁。 这些命令以这样的方式来管理你的分支。 git cherry-pick git cherry-pick 命令用来获得在单个提交中引入的变更,然后尝试将作为一个新的提交引入到你当前分支上。 从一个分支单独一个或者两个提交而不是合并整个分支的所有变更是非常有用的。 在 变基与拣选工作流 一节中描述和演示了

  • 我想在recyclerview中更改一个特殊项目的颜色 我使用了下面的代码来处理这个请求,但是当项目太多时,我会向下滚动 所有其他项目的背景颜色也会改变 此案例属于正常的回收视图 我该怎么解决这个问题? 我的适配器代码

  • 我正试图绘制一个颜色梯度,我希望它沿一个轴均匀分布(在下面的图片中,由角度定义) 当我使用命令时,绘图匹配所需的梯度方向,但沿着它不均匀(沿着圆的点之间形成各种三角形) 这是密码