Можно ли отбросить уровни, которые не используются в фасетах ggplot2s? Это мой код:
tab = as.data.frame(cbind(groups = mtcars$cyl, names = row.names(mtcars), val = mtcars$mpg, N = mtcars$disp))
tab$N = as.numeric(tab$N)
ggplot(tab, aes(names,val)) +
geom_point() + coord_flip() +
theme_bw() +
facet_grid(groups ~ ., drop=TRUE)#, scales="free", as.table=F, space="free")
Я попробовал drop=T
переключатель, но это не помогает. Что я делаю неправильно?
r
data-visualization
ggplot2
mrrrau
источник
источник
Ответы:
Данные вашего примера просто не имеют никаких неиспользуемых уровней, которые можно отбросить. Проверьте поведение в этом примере:
Возможно, вы хотите изменить, какие факторы отображаются на вертикальной оси в каждом фасете, и в этом случае вы хотите установить
scales
аргумент и использоватьfacet_wrap
:источник
dotchart(as.numeric(tab$val), labels=tab$names, groups=tab$groups)
. Является ли это возможным?drop
отбрасывает любые уровни факторов, которые не использовались ни в одном из аспектов графика, иscales
отбрасывает все уровни факторов, которые не использовались в определенном аспекте графика. Это заняло у меня некоторое время, чтобы понять из этого поста, поэтому я решил уточнить здесь, чтобы избавить кого-то еще от неприятностей.