我有以下数据:
data <- data.frame(x = letters[1:6],
group = rep(letters[1:2], each = 3),
y = 1:6)
x group y
1 a a 1
2 b a 2
3 c a 3
4 d b 4
5 e b 5
6 f b 6
我想绘制y ~ x
并使用ggplot2分组成小平面。
ggplot(data, aes(x, y)) +
geom_bar(stat = "identity") +
facet_grid(group ~ .)
问题是某些元组(x; group)
不存在于我的数据中(例如,x = a && group = b
没有数据),但它们保存在两个方面的x轴上所以我想删除它们,然后在各个组中缺少因子时删除构面中的空白区域。
我认为scales = "free_x" or drop = TRUE
可以做到这一点,但我无法做到。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:3)
使用facet_wrap
代替
ggplot(data, aes(x, y)) +
geom_col() +
facet_wrap(~group, scales = 'free', nrow = 2, strip.position = 'right')
还要注意geom_col
作为使用identity