scale_x_discrete remove manually guide_legend ggtitle ggplot r plot ggplot2

manually - remove legend title ggplot2



ggplot2 position=''esquivar'' produciendo barras que son demasiado anchas (1)

Estoy interesado en producir un histograma con position = ''dodge'' y fill = algún factor (es decir, barras lado a lado para diferentes subgrupos dentro de cada barra / grupo), pero ggplot2 me da algo así como la primera gráfica aquí , que tiene una barra a la derecha que es demasiado ancha y no reserva espacio para el grupo vacío, lo cual me gustaría.

Aquí hay un caso simple:

df = data.frame(a=c(''o'',''x'',''o'',''o''), b=c(''a'',''b'',''a'',''b'')) qplot(a, data=df, fill=b, position=''dodge'')

Desde ggplot geom_bar - barras demasiado anchas obtuve esta idea, y aunque técnicamente produce una barra del mismo ancho, pero no conserva espacio para el grupo vacío:

ggplot(df, aes(x=a, fill=a))+ geom_bar(aes(y=..count../sum(..count..))) + facet_grid(~b,scales="free",space="free")

¿Cómo logro lo que quiero? Gracias por adelantado.


Las opciones predeterminadas en ggplot producen lo que creo que describes. Las opciones de scales="free" y space="free" hacen lo contrario de lo que desea, así que simplemente elimínelas del código. Además, la stat predeterminada para geom_bar es agregar por conteo, por lo que no tiene que especificar su estadística explícitamente.

ggplot(df, aes(x=a, fill=a)) + geom_bar() + facet_grid(~b)