Wie erstellt man ein Balkendiagramm wie das folgende Bild?So erstellen Sie ein Balkendiagramm mit ggplot2
Ich habe versucht, aber kann dies nur bekommen ein:
Hier ist mein Code:
ggplot(N.Balance, aes(x = factor(Period), y = value)) +
geom_bar(stat = "identity", aes(group = Type, fill = variable), osition = "stack", width = 0.6) +
facet_wrap(~ Type,ncol = 1) +
coord_flip() +
scale_fill_grey() +
theme_bw(base_size = 30, base_family = "serif") +
labs(y = expression(paste("kg", " ", "N", " ", ha^{-1}))) +
theme(legend.key.height = unit(0.5, "in"))
und die Daten werden unten dargestellt:
structure(list(Period = c("2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W", "2007R", "2007/2008W", "2008R", "2008/2009W",
"2009R", "2009/2010W"),
variable = c("Denitrification", "Denitrification", "Denitrification", "Denitrification",
"Denitrification", "Denitrification", "Runoff", "Runoff", "Runoff", "Runoff", "Runoff",
"Runoff", "Leaching", "Leaching", "Leaching", "Leaching", "Leaching", "Leaching", "NH3Vol",
"NH3Vol", "NH3Vol", "NH3Vol", "NH3Vol", "NH3Vol", "Harvest",
"Harvest", "Harvest", "Harvest", "Harvest", "Harvest", "Fertilizer",
"Fertilizer", "Fertilizer", "Fertilizer", "Fertilizer", "Fertilizer",
"Fix", "Fix", "Fix", "Fix", "Fix", "Fix", "Irrigation", "Irrigation",
"Irrigation", "Irrigation", "Irrigation", "Irrigation", "Seeds",
"Seeds", "Seeds", "Seeds", "Seeds", "Seeds", "Deposition", "Deposition",
"Deposition", "Deposition", "Deposition", "Deposition"),
value = c(-89.4, -34.4, -61.5, -82.5, -87.2, -34.7, -21.8, -33.4, -2.65, -42.8,
-19.2, -58.7, -8.22, -1.44, -9.76, -4.76, -4.97, -19, -71.6,
-50.8, -97.1, -10.9, -60.6, -19.6, -187, -116, -167, -96, -177,
-127, 300, 200, 300, 200, 300, 200, 45, 15, 45, 15, 45, 15, 12.5,
0, 11.6, 0, 11.3, 0, 0.9, 3, 0.9, 3, 0.9, 3, 8.41, 13.74, 4.01,
13.34, 16.31, 9.81), Type = c("O", "O", "O", "O", "O", "O", "O",
"O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O",
"O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "I", "I", "I",
"I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I",
"I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I", "I")),
.Names = c("Period", "variable", "value", "Type"), class = "data.frame",
row.names = c(NA, -60L))
Hinweis
, dass der Typ „O“ bedeutet „Output“ und „I“ bedeutet „Input“
Der beste Weg, um Hilfe und Arbeitscode zu erhalten, ist die Eingabe von minimalen Eingabedaten und erwartetem Ergebnis hier inline (anstelle von externen Links). – Gopala
Warum möchten Sie diese Monstrosität replizieren? – hrbrmstr
@hrbrmstr, ich möchte nur wissen, ob ggplot2 mit dieser Art von Bild umgehen kann oder nicht. – Frank