Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用ggplot在多个方框图中仅为特定方框图着色_R_Ggplot2 - Fatal编程技术网

R 使用ggplot在多个方框图中仅为特定方框图着色

R 使用ggplot在多个方框图中仅为特定方框图着色,r,ggplot2,R,Ggplot2,我想在众多使用ggplot的方框图中指定一个方框图的颜色 例如,假设我使用的是nlme软件包附带的矫正数据集 我如何指定我希望男性的箱线图为绿色 > 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

我想在众多使用ggplot的方框图中指定一个方框图的颜色

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

我如何指定我希望男性的箱线图为绿色

> 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))

谢谢

可能有一种方法可以只给一个颜色上色,但您可以手动将填充更改为不同的颜色。默认填充似乎为白色。您还可以执行
values=c(NA,“红色”)


如果您有多个级别的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")

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