更改Matplotlib小提琴图的颜色

发布于 2021-01-29 17:41:21

有没有办法violin在matplotlib中更改图的颜色?

默认颜色是这种“棕色”颜色,虽然还不错,但我想对前3个小提琴进行不同的着色,以突出显示它们。我在文档中找不到任何参数。有什么想法或技巧可以使小提琴颜色不同吗?

在此处输入图片说明

关注者
0
被浏览
141
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    matplotlib.pyplot.violinplot()
    说它返回:

    字典,将小提琴的每个组成部分映射到创建的相应集合实例的列表。该词典具有以下键:

    • bodiesmatplotlib.collections.PolyCollection包含每个小提琴填充区域的实例列表。
    • […以及其他…]

    方法PolyCollection小号包括:

    因此,看起来您只需遍历结果的正文列表并修改每个的脸色即可:

    violin_parts = plt.violinplot(...)
    
    for pc in violin_parts['bodies']:
        pc.set_facecolor('red')
        pc.set_edgecolor('black')
    

    有点奇怪,尽管您不能像普通图类型那样在创建时设置它。我猜这可能是因为该操作创建了很多位(前面提到的PolyCollection还有其他5个位LineCollections),所以其他参数将是模棱两可的。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看