Datos:
df <- data.frame(
type = c("T", "F", "P", "T", "F", "P", "T", "F", "P", "T", "F", "P"),
size = c("50%", "50%", "50%", "100%", "100%", "100%", "150%", "150%", "150%", "200%", "200%", "200%"),
amount = c(48.4, 48.1, 46.8, 25.9, 26, 24.9, 21.1, 21.4, 20.1, 20.8, 21.5, 16.5)
)
Necesito trazar un gráfico de barras de los datos anteriores usando ggplot (eje x -> type
, eje y -> amount
, agrupar por size
). Cuando utilicé el siguiente código, no obtengo la variable type
ni tampoco size
en el orden que se muestra en los datos. Consulte la figura. He usado el siguiente código para eso.
ggplot(df, aes(type, amount , fill=type, group=type, shape=type, facets=size)) +
geom_bar(width=0.5, position = position_dodge(width=0.6)) +
facet_grid(.~size) +
theme_bw() +
scale_fill_manual(values = c("darkblue","steelblue1","steelblue4"),
labels = c("T", "F", "P"))
.
Para solucionar el problema del pedido, he utilizado un método de factor para la variable "tipo" utilizando lo siguiente. Consulte también la figura.
temp$new = factor(temp$type, levels=c("T","F","P"), labels=c("T","F","P"))
Sin embargo, ahora no sé cómo arreglar el orden de la variable size
. Debe ser 50%, 100%. 150% y 200%.