我刚刚在 ggplot2 0.9 中遇到了 facet_grid()
的奇怪行为,我想知道是否有人可以向我解释一下......
采用以下 df
数据框:
var <- sample(c("red", "blue"), 100, replace=TRUE)
group <- sample(c("group1", "group2"), 100, replace=TRUE)
df <- data.frame(var=factor(var), group=factor(group))
看起来像:
var group
1 red group2
2 red group1
3 red group1
4 red group2
5 red group2
6 red group1
如果我绘制由 group
分面的 var
条形图,我会得到一组相当奇怪的 y 值:
ggplot(data=df, aes(x=var)) + geom_bar() + facet_grid(~group)
这看起来很奇怪,因为如果我使用 facet_wrap
而不是 facet_grid
y 值似乎是正确的:
ggplot(data=df, aes(x=var)) + geom_bar() + facet_wrap(~group)
此外,如果我在数据框中引入另一个虚拟变量,我可以使用 facet_grid
取回正确的值:
df$tmp <- 1:nrow(df)
ggplot(data=df, aes(x=var)) + geom_bar() + facet_grid(~group)
那么,这是某种错误,还是我不理解的正常行为?
最佳答案
此错误已在 ggplot2 的 0.9.1 版本中修复。
关于r - facet_grid() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9698807/