Dati:
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)
)
Ho bisogno di tracciare un grafico a barre dei dati sopra usando ggplot (asse x -> type, asse y -> amount, gruppo per size). Quando ho utilizzato il codice seguente, non ricevo la variabile typee sizenell'ordine mostrato nei dati. Si prega di vedere la figura. Ho usato il seguente codice per questo.
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"))
.
Per risolvere il problema dell'ordine, ho utilizzato un metodo fattoriale per la variabile "tipo" utilizzando quanto segue. Si prega di vedere anche la figura.
temp$new = factor(temp$type, levels=c("T","F","P"), labels=c("T","F","P"))

Tuttavia, ora non so come correggere l'ordine per la variabile size. Dovrebbe essere 50%, 100%. 150% e 200%.
