seaborn中的箱线图颜色分组

2024-06-02 05:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我将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的存在。有人能提供一个提示吗


Tags: a2dataa1seabornb2a3b1b3
2条回答

伪代码:

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列

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

相关问题 更多 >