ggplot删除冗余的x轴值

时间:2014-09-03 02:59:03

标签: r ggplot2

library(ggplot2)
set.seed(2)
a = sort(rep(c("A","B"),6))
b = c(rep(1:3,2),rep(4:6,2))
cc = rnorm(length(a))
d = rep(sort(rep(1:2,3)),2)
df = data.frame(a,b,cc,d)
print(df)
ggplot(df, aes(x = as.factor(b), y = cc, fill = as.factor(d))) + 
  geom_bar(stat = "identity",   position = "dodge") + 
  facet_wrap(~a)

在下图中: 如何摆脱a“A”和&的每个因子的冗余x轴值。 “B”。 我的意思是“A”不需要4:6,“B”同样是1:3。 我需要做什么调整?

1 个答案:

答案 0 :(得分:1)

facet_wrapfacet_grid都有一个scales参数,可让您定义哪个x和/或y比例应该是免费的还是固定的。

在您的情况下,您希望x维度在两个方面都可以自由不同,因此

ggplot(df, aes(x = as.factor(b), y = cc, fill = as.factor(d))) + 
    geom_bar(stat = "identity",   position = "dodge") + 
    facet_wrap(~ a, scales = 'free_x')