Standard R plotting produces 30 boxplots in one plot when I use this code:
boxplot(Abundance[Quartile==1]~Year[Quartile==1],col="LightBlue",main="Quartile1 (Rare)")
I would like to produce something similar in ggplot2. So far i'm using this:
d1 = data.frame(x=data$Year[Quartile==1],y=data$Abundance[Quartile==1])
a <- ggplot(d1,aes(x,y))
a + geom_boxplot()
There are 30 years of data. In each year there are 145 species. In each year the 145 species are categorized into quartiles of 1-4.
However, I'm only getting a single boxplot using this. Any idea how to get 30 boxplots (one for each year) along the x axes? Any help much appreciated.
There are 30 years of data. In each year there are 145 species. In each year the 145 species are categorized into quartiles of 1-4.
What does str(d1)
tell you about x
? If numeric or integer, then that could be your problem. If Year
is a factor, then you get a boxplot for each Year. As an example:
library(ggplot2)
# Some toy data
df <- data.frame(Year = rep(c(1:30), each=20), Value = rnorm(600))
str(df)
Note that Year
is an integer variable
ggplot(df, aes(Year, Value)) + geom_boxplot() # One boxplot
ggplot(df, aes(factor(Year), Value)) + geom_boxplot() # 30 boxplots
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With