首页 > 解决方案 > 将颜色设置为 matplotlib 补丁

问题描述

我正在关注Matplotlib 关于补丁的教程。我了解它是如何工作的,但我唯一不明白的是如何为补丁设置颜色。假设我希望所有这些都是橙色的,我尝试了这个(来自代码):

for x1, y1, r, t1, t2 in zip(x, y, radii, theta1, theta2):
    wedge = Wedge((x1, y1), r, t1, t2, color='orange')
    patches.append(wedge)

但它没有为补丁设置颜色。我怎样才能做到这一点?

标签: pythonmatplotlib

解决方案


您需要指定match_original=True(当然还要注释掉该行p.set_array(np.array(colors)))。从文档

match_original
如果为 True,则使用原始补丁的颜色和线宽。如果为 False,则可以通过提供标准集合参数 facecolor、edgecolor、linewidths、norm 或 cmap 来分配新颜色。

p = PatchCollection(patches, alpha=0.4, match_original=True)

推荐阅读