Czy można zrzucić poziomy, które nie są używane w aspektach ggplot2? To jest mój kod:
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")
Próbowałem drop=T
przełącznik, ale to nie pomaga. Co ja robię źle?
r
data-visualization
ggplot2
mrrrau
źródło
źródło
Odpowiedzi:
Twoje przykładowe dane po prostu nie mają żadnych nieużywanych poziomów do upuszczenia. Sprawdź zachowanie w tym przykładzie:
Może się zdarzyć, że chcesz zmienić, które czynniki są drukowane na osi pionowej w każdym aspekcie, w którym to przypadku chcesz ustawić
scales
argument i użyćfacet_wrap
:źródło
dotchart(as.numeric(tab$val), labels=tab$names, groups=tab$groups)
. Czy to możliwe?drop
upuszcza wszelkie poziomy czynników, które nie były użyte w żadnym aspekcie wykresu, podczas gdyscales
opuszcza każdy poziom współczynnika, który nie był użyty w danym aspekcie wykresu. Zajęło mi to trochę czasu, aby zrozumieć ten post, więc pomyślałem, że wyjaśnię tutaj, aby ocalić komuś problem.