I wanted to arrange bars in each stack by its size, with the largest one at base. Referring to this question, I have to arrange my data
Ordering stacks by size in a ggplot2 stacked bar graph
so I did it with `arrange()' but that didn't work. My bars are still not ordered.
Here is the code
weedseed2 <- weedseed%>%
select(-ends_with("g"))%>%
select(-ends_with("d"))%>%
gather(key=species, value=speciesnumber, ABUTHv:Othersv)%>%
mutate(species = gsub("v$", "", species))%>%
arrange(-speciesnumber)
#speciesmass when species = DIGSAWt is the same as DIGSAWt.
summary(weedseed2[weedseed2$species == "ABUTHv",])
summary(weedseed2$ABUTHv)
weedseed2$density <- weedseed2$speciesnumber*weedseed2$CF
head(weedseed2)
weedseed2 <- ddply(weedseed2, .(Crop, Rot, Rot.Herb, species), summarise,
meandensity = sum(density)/4)
ggplot(weedseed2, aes(x=Rot.Herb, y=meandensity, fill=species))+
geom_bar(stat="identity")+
theme_bw() +
theme(panel.grid.major=element_blank()) +
facet_grid(~Rot, scales = "free_x", space="free_x")+
#ggtitle("Weed abundance and diversity") +
#theme(plot.title = element_text(size=24, face="bold", vjust=2)) +
theme(legend.title=element_blank(), legend.text=element_text(size=20),legend.position="top")+
xlab("\nTreatment") +
theme(axis.title = element_text(size=24,face="bold", vjust=2), axis.text.x = element_text(size=20,angle = 90, hjust = 1, vjust=0.4)) +
ylab("Seedbank density 2014 (seeds per meter sq)\n") +
ylim(c(0,8000))+
theme(axis.title = element_text(size=24,face="bold", vjust=2), axis.text.y = element_text(size=20, color="black"))
and here is the data
> dput(weedseed)
structure(list(ID = 1:72, Plot = c(11L, 11L, 12L, 12L, 13L, 13L,
14L, 14L, 15L, 15L, 16L, 16L, 17L, 17L, 18L, 18L, 19L, 19L, 21L,
21L, 22L, 22L, 23L, 23L, 24L, 24L, 25L, 25L, 26L, 26L, 27L, 27L,
28L, 28L, 29L, 29L, 31L, 31L, 32L, 32L, 33L, 33L, 34L, 34L, 35L,
35L, 36L, 36L, 37L, 37L, 38L, 38L, 39L, 39L, 41L, 41L, 42L, 42L,
43L, 43L, 44L, 44L, 45L, 45L, 46L, 46L, 47L, 47L, 48L, 48L, 49L,
49L), Side = structure(c(2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L), .Label = c("E",
"W"), class = "factor"), Trt = structure(c(3L, 3L, 1L, 1L, 2L,
2L, 9L, 9L, 5L, 5L, 8L, 8L, 6L, 6L, 4L, 4L, 7L, 7L, 1L, 1L, 6L,
6L, 3L, 3L, 2L, 2L, 8L, 8L, 5L, 5L, 7L, 7L, 4L, 4L, 9L, 9L, 1L,
1L, 9L, 9L, 8L, 8L, 2L, 2L, 7L, 7L, 5L, 5L, 4L, 4L, 3L, 3L, 6L,
6L, 6L, 6L, 8L, 8L, 1L, 1L, 2L, 2L, 7L, 7L, 4L, 4L, 5L, 5L, 3L,
3L, 9L, 9L), .Label = c("A4", "C2", "C3", "C4", "O3", "O4", "S2",
"S3", "S4"), class = "factor"), Herb = structure(c(1L, 2L, 1L,
2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L,
2L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L,
2L, 2L, 1L, 2L, 1L), .Label = c("conv", "low"), class = "factor"),
Crop = structure(c(2L, 2L, 1L, 1L, 2L, 2L, 4L, 4L, 3L, 3L,
4L, 4L, 3L, 3L, 2L, 2L, 4L, 4L, 1L, 1L, 3L, 3L, 2L, 2L, 2L,
2L, 4L, 4L, 3L, 3L, 4L, 4L, 2L, 2L, 4L, 4L, 1L, 1L, 4L, 4L,
4L, 4L, 2L, 2L, 4L, 4L, 3L, 3L, 2L, 2L, 2L, 2L, 3L, 3L, 3L,
3L, 4L, 4L, 1L, 1L, 2L, 2L, 4L, 4L, 2L, 2L, 3L, 3L, 2L, 2L,
4L, 4L), .Label = c("alfalfa", "corn", "oat", "soybean"), class = "factor"),
Rot = structure(c(2L, 2L, 3L, 3L, 1L, 1L, 3L, 3L, 2L, 2L,
2L, 2L, 3L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 2L, 2L, 1L,
1L, 2L, 2L, 2L, 2L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 3L, 2L, 2L, 3L, 3L, 3L,
3L, 2L, 2L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 2L, 2L, 2L, 2L,
3L, 3L), .Label = c("2-year", "3-year", "4-year"), class = "factor"),
Rot.Herb = structure(c(5L, 6L, 1L, 2L, 4L, 3L, 18L, 17L,
9L, 10L, 15L, 16L, 12L, 11L, 8L, 7L, 14L, 13L, 2L, 1L, 11L,
12L, 5L, 6L, 4L, 3L, 16L, 15L, 9L, 10L, 13L, 14L, 7L, 8L,
17L, 18L, 1L, 2L, 18L, 17L, 16L, 15L, 4L, 3L, 14L, 13L, 10L,
9L, 8L, 7L, 5L, 6L, 12L, 11L, 12L, 11L, 15L, 16L, 1L, 2L,
3L, 4L, 14L, 13L, 8L, 7L, 9L, 10L, 6L, 5L, 18L, 17L), .Label = c("A4-conv",
"A4-low", "C2-conv", "C2-low", "C3-conv", "C3-low", "C4-conv",
"C4-low", "O3-conv", "O3-low", "O4-conv", "O4-low", "S2-conv",
"S2-low", "S3-conv", "S3-low", "S4-conv", "S4-low"), class = "factor"),
ABUTHv = c(1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 2L, 0L, 0L
), ABUTHg = c(1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 2L, 0L,
0L), ABUTHd = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L), SETSPv = c(0L, 3L, 36L, 3L, 0L, 0L, 2L, 0L, 2L, 11L,
0L, 0L, 3L, 0L, 2L, 0L, 2L, 0L, 0L, 8L, 0L, 2L, 0L, 0L, 0L,
1L, 2L, 0L, 25L, 11L, 0L, 0L, 1L, 1L, 0L, 0L, 17L, 22L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 8L, 3L, 0L, 0L, 0L, 1L, 4L, 3L,
0L, 0L, 0L, 0L, 5L, 0L, 1L, 0L, 24L, 0L, 2L, 0L, 0L, 7L,
0L, 18L, 2L, 0L), SETSPg = c(0L, 3L, 33L, 2L, 0L, 0L, 2L,
0L, 1L, 7L, 0L, 0L, 3L, 0L, 2L, 0L, 1L, 0L, 0L, 6L, 0L, 2L,
0L, 0L, 0L, 0L, 2L, 0L, 13L, 6L, 0L, 0L, 0L, 1L, 0L, 0L,
5L, 12L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 7L, 0L, 0L, 0L,
0L, 1L, 4L, 3L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 24L, 0L,
2L, 0L, 0L, 2L, 0L, 4L, 2L, 0L), SETSPd = c(0L, 0L, 2L, 7L,
0L, 0L, 1L, 0L, 7L, 13L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 0L,
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 2L, 4L, 0L, 0L, 0L,
0L, 0L, 0L, 2L, 13L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 4L, 2L, 0L, 1L, 0L, 0L, 5L, 1L, 0L, 2L,
2L, 0L, 0L, 0L, 0L, 9L, 0L, 6L, 1L, 0L), AMATAv = c(5L, 11L,
0L, 3L, 6L, 9L, 5L, 24L, 4L, 7L, 8L, 0L, 0L, 6L, 2L, 7L,
9L, 7L, 1L, 11L, 11L, 5L, 2L, 2L, 0L, 7L, 19L, 27L, 46L,
6L, 2L, 5L, 2L, 13L, 11L, 12L, 6L, 0L, 6L, 6L, 33L, 9L, 8L,
6L, 3L, 5L, 25L, 17L, 7L, 15L, 2L, 18L, 1L, 7L, 0L, 0L, 5L,
17L, 8L, 6L, 0L, 4L, 3L, 7L, 8L, 4L, 16L, 4L, 30L, 4L, 22L,
31L), AMATAg = c(2L, 0L, 0L, 0L, 0L, 0L, 3L, 4L, 0L, 1L,
0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, 1L, 2L, 0L,
0L, 3L, 7L, 9L, 2L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 1L, 1L,
3L, 0L, 0L, 0L, 0L, 1L, 5L, 6L, 2L, 1L, 0L, 4L, 0L, 2L, 0L,
0L, 2L, 3L, 0L, 1L, 0L, 1L, 0L, 7L, 7L, 0L, 0L, 0L, 8L, 0L,
8L, 1L), AMATAd = c(0L, 3L, 1L, 2L, 1L, 0L, 2L, 3L, 22L,
13L, 0L, 0L, 0L, 3L, 1L, 1L, 0L, 0L, 2L, 1L, 4L, 2L, 0L,
1L, 0L, 3L, 2L, 1L, 0L, 16L, 5L, 3L, 1L, 4L, 2L, 0L, 0L,
2L, 0L, 4L, 3L, 0L, 0L, 3L, 0L, 7L, 0L, 16L, 2L, 1L, 9L,
0L, 7L, 3L, 2L, 0L, 1L, 6L, 0L, 1L, 1L, 1L, 2L, 0L, 1L, 0L,
6L, 15L, 1L, 3L, 14L, 4L), CHEALv = c(10L, 73L, 2L, 3L, 2L,
1L, 8L, 4L, 5L, 18L, 7L, 6L, 4L, 8L, 5L, 7L, 3L, 2L, 3L,
5L, 1L, 7L, 5L, 24L, 1L, 4L, 39L, 24L, 26L, 23L, 2L, 3L,
3L, 3L, 8L, 11L, 8L, 6L, 2L, 3L, 58L, 9L, 0L, 0L, 2L, 0L,
43L, 12L, 5L, 1L, 2L, 9L, 0L, 0L, 0L, 9L, 7L, 23L, 4L, 1L,
2L, 0L, 3L, 0L, 0L, 4L, 1L, 5L, 12L, 5L, 1L, 13L), CHEALg = c(9L,
56L, 1L, 0L, 2L, 0L, 6L, 0L, 2L, 3L, 4L, 0L, 0L, 6L, 2L,
4L, 1L, 2L, 3L, 1L, 0L, 5L, 0L, 7L, 0L, 0L, 17L, 7L, 12L,
11L, 1L, 1L, 0L, 1L, 2L, 2L, 3L, 0L, 1L, 0L, 33L, 3L, 0L,
0L, 0L, 0L, 13L, 6L, 3L, 0L, 0L, 3L, 0L, 0L, 0L, 6L, 3L,
18L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 3L, 4L, 0L,
3L), CHEALd = c(5L, 4L, 1L, 2L, 1L, 0L, 4L, 0L, 15L, 0L,
1L, 9L, 0L, 4L, 3L, 1L, 1L, 0L, 0L, 1L, 2L, 1L, 1L, 4L, 0L,
0L, 8L, 1L, 0L, 28L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L,
2L, 4L, 0L, 0L, 0L, 1L, 2L, 2L, 0L, 7L, 0L, 0L, 3L, 0L, 2L,
0L, 0L, 0L, 3L, 0L, 0L, 0L, 2L, 0L, 0L, 1L, 0L, 2L, 0L, 1L,
7L, 2L, 0L), SOLPTv = c(0L, 0L, 0L, 0L, 2L, 2L, 0L, 0L, 7L,
6L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 9L, 0L, 0L, 1L,
1L, 0L, 0L, 0L, 16L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 1L, 0L, 0L), SOLPTg = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
7L, 5L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 7L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 16L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L), SOLPTd = c(0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 1L, 0L, 0L), Othersv = c(4L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 3L, 0L,
12L, 1L, 0L, 0L, 0L, 0L, 0L, 15L, 7L, 0L, 0L, 0L, 0L, 3L,
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L,
9L, 0L, 0L, 5L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 2L, 0L, 0L, 0L), Othersg = c(2L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 10L, 1L, 0L, 0L, 0L, 0L, 0L, 11L, 3L, 0L, 0L, 0L,
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 2L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L), Otherd = c(0L, 0L, 0L,
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 4L, 3L, 0L, 0L, 0L,
0L, 0L, 0L, 1L, 0L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 0L, 0L, 0L, 0L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 2L, 0L, 0L, 1L, 0L), Total = c(20L, 87L,
40L, 10L, 10L, 12L, 15L, 28L, 18L, 42L, 15L, 6L, 8L, 14L,
11L, 15L, 15L, 9L, 5L, 27L, 21L, 26L, 8L, 28L, 2L, 16L, 60L,
51L, 128L, 47L, 4L, 8L, 7L, 17L, 22L, 24L, 31L, 28L, 9L,
9L, 91L, 18L, 13L, 7L, 5L, 5L, 76L, 33L, 12L, 18L, 13L, 28L,
5L, 15L, 1L, 10L, 12L, 40L, 19L, 9L, 4L, 5L, 30L, 7L, 10L,
8L, 18L, 16L, 46L, 31L, 25L, 44L), CF = c(147.5618474, 144.3572322,
134.7024663, 301.9891292, 136.3708209, 149.7547766, 141.3052833,
138.8055821, 138.9373933, 138.9320134, 139.0784198, 134.7758142,
144.3492862, 143.1154948, 136.9839258, 138.0458049, 135.6558009,
143.6449272, 140.0739052, 138.2965181, 139.7907293, 139.1612166,
150.3922339, 141.855702, 145.6904931, 142.11079, 138.3552161,
144.0879218, 139.4698253, 139.246811, 137.2233504, 138.4148268,
138.3451576, 141.5814259, 136.2848483, 139.0206525, 137.4667635,
289.2598331, 141.1964792, 142.8052673, 135.4605959, 139.54264,
135.6585006, 138.9543384, 135.333747, 135.065521, 138.0727374,
140.6742101, 377.2911964, 136.1589792, 147.3676897, 137.4964485,
149.2861325, 138.3809005, 145.8940507, 145.1086677, 137.0277925,
135.0324547, 136.4208582, 139.6855294, 136.0470631, 139.5799774,
137.4672086, 136.5512365, 136.9160686, 137.0088936, 142.1383353,
141.7463255, 141.8326908, 241.9498825, 134.9707796, 140.2835627
)), .Names = c("ID", "Plot", "Side", "Trt", "Herb", "Crop",
"Rot", "Rot.Herb", "ABUTHv", "ABUTHg", "ABUTHd", "SETSPv", "SETSPg",
"SETSPd", "AMATAv", "AMATAg", "AMATAd", "CHEALv", "CHEALg", "CHEALd",
"SOLPTv", "SOLPTg", "SOLPTd", "Othersv", "Othersg", "Otherd",
"Total", "CF"), class = "data.frame", row.names = c(NA, -72L))