我想使用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))
谢谢!
答案 0 :(得分: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")
答案 1 :(得分:3)
可能有一种方法可以只为一个着色,但您可以手动将填充更改为其他颜色。默认填充似乎是白色。您也可以values = c(NA, "red")
。
ggplot(Orthodont) +
geom_boxplot(aes(x=factor(Sex), y = distance, fill = Sex)) +
scale_fill_manual(values = c("red", "white"))