Seaborn中的箱线图颜色分组

时间:2020-04-21 20:43:51

标签: python seaborn boxplot

我有9个箱形图,分为3组:

  1. A1,B1,C1
  2. A2,B2,C2
  3. A3,B3,C3

使用seaborn如何将所有A都绘制成红色,将所有B都绘制成绿色,并将所有C绘制成蓝色?

我使用bplot = sns.boxplot(data=[d for d in data], width=0.5)创建了箱形图,并且意识到bplot.artists的存在。有人可以对此提供提示吗?

2 个答案:

答案 0 :(得分:0)

伪代码:

for a in row:
    for b in column:
        if box in left:
            graph with color 'red'
        elif box in middle:
            graph with color 'green'
        elif box in right:
            graph with color 'blue'
        else:
          'no color'

基本上,我是使用嵌套循环for进行循环,并且在其内部是if/else算法(或您所谓的任何算法)。如果它在顶部栏中,则将其涂成红色。如果在底部栏中,将其涂成蓝色。如果它在中间列中,请将其涂成绿色。否则,将其涂成无颜色。这应该使您对所需内容有一个大概的估计。通过添加其他颜色,可以轻松扩展它。它可以扩展到N行M列。

答案 1 :(得分:-1)

color是一个可选参数,会传递到基础的matplotlib对象中,因此只需在初始化参数sns.boxplot(data, color='blue')中指定它,并使用for循环来命中A,B和C