Ggplot2:更改每个分面的填充颜色

3

我有一个三个面板的图形,在每个面板中都有一个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)

每个面的颜色如何与“dodgebars”中其填充覆盖的颜色匹配?

3
欢迎来到 Stack Overflow。通常,为了获得最好的答案,您应该提供一个可重现的例子。针对您的问题:如果将分面变量映射到填充颜色上,那么每个分面都应该有不同的填充颜色(如果这正是您想要的)。 - lukeA
我已经提供了制作非常基本图形的代码。你能否提供“将分面变量映射到填充颜色”的代码?我一直在查阅ggplot文档,但不确定该去哪里寻找。 - kshrek
facetedbars + aes(fill = as.factor(x)) 呢? - lukeA
对不起,我并不是很不熟悉ggplot。这很尴尬。谢谢你的耐心! - kshrek
1
不客气。那解决了你的问题吗?如果是这样,我会把它提交为答案,这样你就可以检查它并关闭问题。 - lukeA
可以提交了。 - kshrek
1个回答

5
将分面变量映射到填充颜色。然后,每个分面都会获得不同的条形颜色:
facetedbars + aes(fill = as.factor(x))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接