使用ggplot只为许多颜色中的特定箱图着色

gol*_*ine 3 r ggplot2

我想使用ggplot指定一个箱图中的颜色.

例如,假设我使用的是nlme软件包附带的Orthodont数据集.

我如何指定我希望男性的箱形图是绿色的?

> head(Orthodont)
Grouped Data: distance ~ age | Subject
  distance age Subject  Sex
1     26.0   8     M01 Male
2     25.0  10     M01 Male
3     29.0  12     M01 Male
4     31.0  14     M01 Male
5     21.5   8     M02 Male
6     22.5  10     M02 Male
> ggplot(data = Orthodont) + geom_boxplot(aes(x = factor(Sex), y = distance))
Run Code Online (Sandbox Code Playgroud)

谢谢!

Did*_*rts 6

如果您有多个级别的x变量(例如Subject)并且您不需要在图例中显示颜色,那么您可以仅在一个具有所需颜色的级别上绘制另一个boxplot图层.

ggplot(data = Orthodont) + geom_boxplot(aes(x = Subject, y = distance))+
      geom_boxplot(data=Orthodont[Orthodont$Subject=="M01",],
                        aes(x = Subject, y = distance),fill="green")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述