aes 中每个箱线图的特定颜色
Specific color for each boxplot in aes
我有一组数据可以总结如下例。一些值和代表一些分类值的另外两个列。
library(ggplot2)
set.seed(123)
sdata=data.frame( aicat=sample(letters[1:4], 50, replace=TRUE), site=sample(letters[5:6], 50, replace=TRUE), vals=sample(1:1000, 50) )
head(sdata)
aicat site vals
1 c f 409
2 c e 308
3 c e 278
4 b e 89
5 c e 928
6 b f 537
我想用箱线图绘制这些数据,在 x 上我有 aicat 变量,我还按站点对数据进行分组。
为此,我执行了以下操作:
ggplot(sdata, aes(x=aicat, y=vals, fills=site, color=site))+
geom_boxplot()+
scale_fill_manual()
生成以下图像:
问题如下:
我怎样才能为这些箱形图中的每一个分配以下颜色列表?
values=c("brown1", "brown4", "gold", "gold4", "dodgerblue", "dodgerblue4", "gray70", "gray40")
我希望“a”中的箱线图是 brown1(最左边)和 brown4(最右边),
b gold(最左边)和 gold4(最右边)中的一个,依此类推。我还需要保留情节的这种结构,因此 facet_wrap 的解决方案不是我要找的。
有什么建议吗?
您可以在 aes()
之外的 fill
参数中手动指定此颜色
geom_boxplot(fill = c("brown1", "brown4", "gold", "gold4", "dodgerblue", "dodgerblue4", "gray70", "gray40"))
我有一组数据可以总结如下例。一些值和代表一些分类值的另外两个列。
library(ggplot2)
set.seed(123)
sdata=data.frame( aicat=sample(letters[1:4], 50, replace=TRUE), site=sample(letters[5:6], 50, replace=TRUE), vals=sample(1:1000, 50) )
head(sdata)
aicat site vals
1 c f 409
2 c e 308
3 c e 278
4 b e 89
5 c e 928
6 b f 537
我想用箱线图绘制这些数据,在 x 上我有 aicat 变量,我还按站点对数据进行分组。 为此,我执行了以下操作:
ggplot(sdata, aes(x=aicat, y=vals, fills=site, color=site))+
geom_boxplot()+
scale_fill_manual()
生成以下图像:
问题如下: 我怎样才能为这些箱形图中的每一个分配以下颜色列表?
values=c("brown1", "brown4", "gold", "gold4", "dodgerblue", "dodgerblue4", "gray70", "gray40")
我希望“a”中的箱线图是 brown1(最左边)和 brown4(最右边), b gold(最左边)和 gold4(最右边)中的一个,依此类推。我还需要保留情节的这种结构,因此 facet_wrap 的解决方案不是我要找的。
有什么建议吗?
您可以在 aes()
fill
参数中手动指定此颜色
geom_boxplot(fill = c("brown1", "brown4", "gold", "gold4", "dodgerblue", "dodgerblue4", "gray70", "gray40"))