У меня есть данные в следующем формате, и я хочу создать сгруппированный столбчатый график, используя facet_grid()
в ggplot2
.
plot.df = data.frame(m = factor(rep(1:3, 9)),
s = factor(rep(rep(1:3, each=3),3)),
var = factor(rep(1:3, each = 9)),
val = rnorm(27))
ggplot(plot.df, aes(x=var, y=val, fill=m)) +
facet_grid(.~s,scales="free") +
geom_bar(position="dodge", stat="identity") +
coord_flip()
Теперь один из факторов var
имеет другую шкалу, чем другие. Допустим, нам нужен другой масштаб для всех случаев, когда var == 3
. Мы можем отделить его от остальных фасетов следующим образом:
plot.df$select = c(rep(0,18),rep(1,9))
ggplot(plot.df, aes(x=var, y=val, fill=m)) +
facet_grid(select~s,scales="free") +
geom_bar(position="dodge", stat="identity") +
coord_flip()
Можно ли получить отдельную ось для val
для эти две фасеточные группы? Или это вообще считается плохой практикой, и я должен сначала разделить участок на два отдельных участка?