如何製作如下圖所示的條形圖?如何用ggplot2製作這樣的條形圖
我試過,但只能得到這一個:
這裏是我的代碼:
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"))
和下面的數據顯示:
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))
注意,「O」型是指「輸出」和「我」的意思是「輸入」
獲得幫助和工作代碼的最佳方式是發佈最少的輸入數據,並在此處預期結果內聯(而不是外部鏈接)。 – Gopala
爲什麼你想複製那個怪物? – hrbrmstr
@hrbrmstr,我只想知道是否ggplot2可以處理那種圖片或不。 – Frank