更改Matplotlib小提琴图的颜色
有没有办法violin
在matplotlib中更改图的颜色?
默认颜色是这种“棕色”颜色,虽然还不错,但我想对前3个小提琴进行不同的着色,以突出显示它们。我在文档中找不到任何参数。有什么想法或技巧可以使小提琴颜色不同吗?
-
matplotlib.pyplot.violinplot()
说它返回:字典,将小提琴的每个组成部分映射到创建的相应集合实例的列表。该词典具有以下键:
bodies
:matplotlib.collections.PolyCollection
包含每个小提琴填充区域的实例列表。- […以及其他…]
方法
PolyCollection
小号包括:set_color(c)
设置面色和边色,set_facecolor(c)
和set_edgecolor(c)
所有这些都带有“ matplotlib颜色arg或rgba元组序列”
因此,看起来您只需遍历结果的正文列表并修改每个的脸色即可:
violin_parts = plt.violinplot(...) for pc in violin_parts['bodies']: pc.set_facecolor('red') pc.set_edgecolor('black')
有点奇怪,尽管您不能像普通图类型那样在创建时设置它。我猜这可能是因为该操作创建了很多位(前面提到的
PolyCollection
还有其他5个位LineCollections
),所以其他参数将是模棱两可的。