with used stat_count not must multiple ggplot geom_col geom_bar examples error bar aesthetic r ggplot2 geom-bar

used - ggplot bar graph by group



ggplot2 y un gráfico de barras apiladas con valores negativos (1)

Actualización : a partir de ggplot2 2.2.0, el apilamiento para valores negativos se maneja automáticamente, sin tener que crear capas separadas para los valores positivos y negativos.

Si entiendo lo que está buscando, el truco es poner los dos datos positivos y negativos en capas separadas, y también usar stat = "identity" :

dat <- read.table(text = " Division Year OperatingIncome 1 A 2012 11460 2 B 2012 7431 3 C 2012 -8121 4 D 2012 15719 5 E 2012 364 6 A 2011 12211 7 B 2011 6290 8 C 2011 -2657 9 D 2011 14657 10 E 2011 1257 11 A 2010 12895 12 B 2010 5381 13 C 2010 -2408 14 D 2010 11849 15 E 2010 517",header = TRUE,sep = "",row.names = 1) dat1 <- subset(dat,OperatingIncome >= 0) dat2 <- subset(dat,OperatingIncome < 0) ggplot() + geom_bar(data = dat1, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") + geom_bar(data = dat2, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") + scale_fill_brewer(type = "seq", palette = 1)

Dado el siguiente conjunto de datos:

Division Year OperatingIncome 1 A 2012 11460 2 B 2012 7431 3 C 2012 -8121 4 D 2012 15719 5 E 2012 364 6 A 2011 12211 7 B 2011 6290 8 C 2011 -2657 9 D 2011 14657 10 E 2011 1257 11 A 2010 12895 12 B 2010 5381 13 C 2010 -2408 14 D 2010 11849 15 E 2010 517

¿Cómo completo un gráfico de barras apiladas en ggplot2 que incluye los valores negativos? Aquí está la secuencia de gráficos básicos que estoy usando:

ggplot(income_m, aes(x=Year, y=OperatingIncome, fill=Division)) + geom_bar() + + scale_fill_brewer(type = "seq", palette = 1)

Esto devuelve un error:

Mensaje de advertencia: el apilamiento no está bien definido cuando ymin! = 0

Y en lugar del resultado esperado (los valores negativos se muestran debajo del eje X), simplemente no están presentes en el gráfico de barras apiladas. ¿Hay alguna manera de producir el cuadro con todos los valores, tanto positivos como negativos, contabilizados?