Ist es möglich, Ebenen zu löschen, die nicht in ggplot2s-Facetten verwendet werden? Das ist mein Code:
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")
Ich habe den drop=T
Schalter ausprobiert , aber es hilft nicht. Was mache ich falsch?
r
data-visualization
ggplot2
mrrrau
quelle
quelle
Antworten:
Ihre Beispieldaten haben keine ungenutzten Ebenen zum Löschen. Überprüfen Sie das Verhalten in diesem Beispiel:
Möglicherweise möchten Sie ändern, welche Faktoren in jeder Facette auf der vertikalen Achse dargestellt werden. In diesem Fall möchten Sie das
scales
Argument festlegen und Folgendes verwendenfacet_wrap
:quelle
dotchart(as.numeric(tab$val), labels=tab$names, groups=tab$groups)
. Ist es möglich?drop
alle Faktorstufen gelöscht, die in keiner Facette des Plots verwendet wurden, währendscales
alle Faktorstufen gelöscht werden, die in einer bestimmten Facette des Plots nicht verwendet wurden. Es hat eine Weile gedauert, bis ich diesen Beitrag verstanden habe. Ich dachte, ich würde das hier klären, um jemand anderem die Mühe zu ersparen.