É possível descartar níveis que não são usados nas facetas do ggplot2s? Este é o meu código:
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")
Eu tentei o drop=T
interruptor, mas isso não ajuda. O que estou fazendo de errado?
r
data-visualization
ggplot2
mrrrau
fonte
fonte
Respostas:
Seus dados de exemplo simplesmente não têm níveis não utilizados para serem eliminados. Verifique o comportamento neste exemplo:
Pode ser que você esteja procurando alterar quais fatores estão plotando no eixo vertical em cada faceta; nesse caso, você deseja definir o
scales
argumento e usarfacet_wrap
:fonte
dotchart(as.numeric(tab$val), labels=tab$names, groups=tab$groups)
,. É possível?drop
reduz qualquer nível de fator que não foi usado em nenhuma faceta da plotagem, enquantoscales
reduz qualquer nível de fator que não foi usado em uma faceta específica da plotagem. Demorei um pouco para entender a partir deste post, então pensei em esclarecer aqui para salvar o problema de outra pessoa.