Ggplot2:改变每个方面的填充颜色
Ggplot2: changing fill color in each facet
我有一个三面图,每个面都有几何条。
每个方面代表我在其他图形中使用的变量,其中 ggplot2 默认为它们分配填充颜色。
多面图默认为黑色。我可以更改所有三个面板的填充颜色,但还没有找到如何将每个面板的填充更改为不同的颜色。
这里是代表基本思想的任意数据和代码:
df = data.frame(matrix(data=c(1,3,1,2,3,1,2,3,2,3,1,2,3,1,2,3,
1,3,2,1,2,2,2,3,3,3,1,1,1,3,3,2),
ncol=2,byrow=TRUE))
dimnames(df)[[2]] =c("x","y")
dodgebars <-
ggplot(data = df,aes(factor(y),fill=factor(x))) +
geom_bar(aes(group=factor(x)),
position="dodge")
facetedbars <-
ggplot(data = df, aes(factor(y))) +
geom_bar(aes(group=x)) +
facet_grid(~x)
每个面的颜色如何与其在 "dodgebars?"
中的填充覆盖相匹配
映射分面变量以填充颜色。然后,每个方面都有不同的条形颜色:
facetedbars + aes(fill = as.factor(x))
我有一个三面图,每个面都有几何条。
每个方面代表我在其他图形中使用的变量,其中 ggplot2 默认为它们分配填充颜色。
多面图默认为黑色。我可以更改所有三个面板的填充颜色,但还没有找到如何将每个面板的填充更改为不同的颜色。
这里是代表基本思想的任意数据和代码:
df = data.frame(matrix(data=c(1,3,1,2,3,1,2,3,2,3,1,2,3,1,2,3,
1,3,2,1,2,2,2,3,3,3,1,1,1,3,3,2),
ncol=2,byrow=TRUE))
dimnames(df)[[2]] =c("x","y")
dodgebars <-
ggplot(data = df,aes(factor(y),fill=factor(x))) +
geom_bar(aes(group=factor(x)),
position="dodge")
facetedbars <-
ggplot(data = df, aes(factor(y))) +
geom_bar(aes(group=x)) +
facet_grid(~x)
每个面的颜色如何与其在 "dodgebars?"
中的填充覆盖相匹配映射分面变量以填充颜色。然后,每个方面都有不同的条形颜色:
facetedbars + aes(fill = as.factor(x))