My data looks like as shown below:
structure(list(content = c("Proteins", "Carbohydrates", "Lipids",
"Ash", "Moisture", "Proteins", "Carbohydrates", "Lipids", "Ash",
"Moisture", "Proteins", "Carbohydrates", "Lipids", "Ash", "Moisture",
"Proteins", "Carbohydrates", "Lipids", "Ash", "Moisture", "Proteins",
"Carbohydrates", "Lipids", "Ash", "Moisture", "Proteins", "Carbohydrates",
"Lipids", "Ash", "Moisture"), quantity = c(1.58, 4.22, 5.2, 6.5,
7, 1.95, 5.11, 5.6, 9.7, 7.2, 2.15, 5.05, 4.3, 9, 7.4, 2.71,
3.47, 5.2, 8, 8, 2.63, 4.77, 7, 7.6, 6.9, 3.01, 5.38, 6.6, 11,
5.9), city = c("Amravati", "Amravati", "Amravati", "Amravati",
"Amravati", "Amravati", "Amravati", "Amravati", "Amravati", "Amravati",
"Amravati", "Amravati", "Amravati", "Amravati", "Amravati", "Amravati",
"Amravati", "Amravati", "Amravati", "Amravati", "Amravati", "Amravati",
"Amravati", "Amravati", "Amravati", "Amravati", "Amravati", "Amravati",
"Amravati", "Amravati"), year = c(2009L, 2009L, 2009L, 2009L,
2009L, 2009L, 2009L, 2009L, 2009L, 2009L, 2010L, 2010L, 2010L,
2010L, 2010L, 2010L, 2010L, 2010L, 2010L, 2010L, 2011L, 2011L,
2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L), plant = c("Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea", "Cassia simea", "Cassia simea", "Cassia simea",
"Cassia simea"), status = c("Non_Polluted", "Non_Polluted", "Non_Polluted",
"Non_Polluted", "Non_Polluted", "Polluted", "Polluted", "Polluted",
"Polluted", "Polluted", "Non_Polluted", "Non_Polluted", "Non_Polluted",
"Non_Polluted", "Non_Polluted", "Polluted", "Polluted", "Polluted",
"Polluted", "Polluted", "Non_Polluted", "Non_Polluted", "Non_Polluted",
"Non_Polluted", "Non_Polluted", "Polluted", "Polluted", "Polluted",
"Polluted", "Polluted")), .Names = c("content", "quantity", "city",
"year", "plant", "status"), class = "data.frame", row.names = c(NA,
-30L))
content quantity city year plant status
1 Proteins 1.58 Amravati 2009 Cassia simea Non_Polluted
2 Carbohydrates 4.22 Amravati 2009 Cassia simea Non_Polluted
3 Lipids 5.20 Amravati 2009 Cassia simea Non_Polluted
4 Ash 6.50 Amravati 2009 Cassia simea Non_Polluted
5 Moisture 7.00 Amravati 2009 Cassia simea Non_Polluted
6 Proteins 1.95 Amravati 2009 Cassia simea Polluted
7 Carbohydrates 5.11 Amravati 2009 Cassia simea Polluted
8 Lipids 5.60 Amravati 2009 Cassia simea Polluted
9 Ash 9.70 Amravati 2009 Cassia simea Polluted
10 Moisture 7.20 Amravati 2009 Cassia simea Polluted
11 Proteins 2.15 Amravati 2010 Cassia simea Non_Polluted
12 Carbohydrates 5.05 Amravati 2010 Cassia simea Non_Polluted
13 Lipids 4.30 Amravati 2010 Cassia simea Non_Polluted
14 Ash 9.00 Amravati 2010 Cassia simea Non_Polluted
15 Moisture 7.40 Amravati 2010 Cassia simea Non_Polluted
16 Proteins 2.71 Amravati 2010 Cassia simea Polluted
17 Carbohydrates 3.47 Amravati 2010 Cassia simea Polluted
18 Lipids 5.20 Amravati 2010 Cassia simea Polluted
19 Ash 8.00 Amravati 2010 Cassia simea Polluted
20 Moisture 8.00 Amravati 2010 Cassia simea Polluted
21 Proteins 2.63 Amravati 2011 Cassia simea Non_Polluted
22 Carbohydrates 4.77 Amravati 2011 Cassia simea Non_Polluted
23 Lipids 7.00 Amravati 2011 Cassia simea Non_Polluted
24 Ash 7.60 Amravati 2011 Cassia simea Non_Polluted
25 Moisture 6.90 Amravati 2011 Cassia simea Non_Polluted
26 Proteins 3.01 Amravati 2011 Cassia simea Polluted
27 Carbohydrates 5.38 Amravati 2011 Cassia simea Polluted
28 Lipids 6.60 Amravati 2011 Cassia simea Polluted
29 Ash 11.00 Amravati 2011 Cassia simea Polluted
30 Moisture 5.90 Amravati 2011 Cassia simea Polluted
I would like to make a barplot or scatterplot of content
vs quantity
from the data. My dataframe includes data for two cities (Amravati & Aurangabad), three years(2009, 2010, 2011), three plants (cassia simea, catheranthus roseus & datura metel) and two status (polluted and non-polluted).
I have tried to make a barplot using ggplot2
, but I could plot only with one facet_wrap. The R code I used is:
c <- ggplot(amr_nine, aes(content,quantity,fill=plant)) +
geom_bar() +
facet_wrap(~status) +
theme(axis.text.x = element_text(colour = "black"))+
theme(axis.text.y = element_text(colour = "black"))+
theme(panel.background = element_rect(fill='white', colour='black')) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
scale_fill_manual(values=c("red", "blue", "green"))
My question is can we have multiple facets? so that I can include all my variables (i.e. cities, years, plants and status etc.). If not any other solution to plot all these variables in single plot is highly appreciated.
Thanks in advance...