Ggplot2:改变每个方面的填充颜色

时间:2015-02-05 19:29:28

标签: r ggplot2

我有一个三方面的形状,每个都有geombars。

每个构面代表我在其他图形中使用的变量,其中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)

如何将每个方面的颜色与它的填充物相匹配?&#34; dodgebars?&#34;

1 个答案:

答案 0 :(得分:4)

映射构面变量以填充颜色。然后,每个方面都会得到不同的条形颜色:

facetedbars + aes(fill = as.factor(x))