Reputation: 67
I want to put x-axis value as 2002 to 2011 to corresponding boxplot graph each displaying data from 2002 to 2011 individually. There must have some trick!
Code:
d = read.table("C:/sample.txt", sep="\t", header=TRUE)
attach(d)
summary(d)
boxplot(2002, 2003,2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
data=d, boxcol="blue", medcol="red", whiskcol="blue",
staplecol="blue", ylim = c(0, 1), lty=1, las=1, ylab = "NDVI",
outline = FALSE, boxfill = FALSE)
Sample data
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
0.8392 0.8337 0.8145 0.8306 0.8545 0.7876 0.8491 0.8568 0.8459 0.8778
0.8251 0.7509 0.7301 0.7829 0.8103 0.7368 0.7122 0.685 0.7623 0.8159
0.8584 0.8217 0.8105 0.8295 0.8382 0.769 0.8265 0.8287 0.8344 0.8204
0.8651 0.8211 0.8346 0.8624 0.8629 0.7926 0.8543 0.8648 0.8456 0.8656
0.7991 0.7653 0.7512 0.8106 0.8354 0.7013 0.752 0.8256 0.8235 0.7579
0.8572 0.8186 0.8009 0.6988 0.719 0.7645 0.8142 0.8164 0.7529 0.7214
0.8483 0.8159 0.833 0.8401 0.8426 0.7777 0.8608 0.8243 0.8426 0.8602
Upvotes: 0
Views: 330
Reputation: 17189
Your call to boxplot
is wrong.
See below.
> df <- read.table(textConnection('2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
+ 0.8392 0.8337 0.8145 0.8306 0.8545 0.7876 0.8491 0.8568 0.8459 0.8778
+ 0.8251 0.7509 0.7301 0.7829 0.8103 0.7368 0.7122 0.685 0.7623 0.8159
+ 0.8584 0.8217 0.8105 0.8295 0.8382 0.769 0.8265 0.8287 0.8344 0.8204
+ 0.8651 0.8211 0.8346 0.8624 0.8629 0.7926 0.8543 0.8648 0.8456 0.8656
+ 0.7991 0.7653 0.7512 0.8106 0.8354 0.7013 0.752 0.8256 0.8235 0.7579
+ 0.8572 0.8186 0.8009 0.6988 0.719 0.7645 0.8142 0.8164 0.7529 0.7214
+ 0.8483 0.8159 0.833 0.8401 0.8426 0.7777 0.8608 0.8243 0.8426 0.8602'), header=TRUE)
> boxplot(df, names=2002:2011)
If you call boxplot
with other parameters as specified in your example, you get following.
> boxplot(df, names=2002:2011, boxcol="blue",
medcol="red", whiskcol="blue", staplecol="blue",
ylim = c(0, 1), lty=1, las=1, ylab = "NDVI",
outline = FALSE, boxfill = FALSE)
Upvotes: 3