Hello I have a barplot where I get a grey gradient colors for each bar, I want to append a legend with the names of each bar and next to each name I need a box with the corresponding grey color. I managed to get the legend without boxes, but never got the wanted grey gradient in the legend:> y <- matrix(c(46.5102,42.7561,45.7857,45.6047,45.7027,81.4565,69.8824,69.1333,67.56,57.8929,43.3019,42.9184,51.7143,40.2727,51.7692,22.3871,24.2222,24.3226,23.6342,21.5833), ncol=4)se <- matrix(c(13.0707,12.0287,15.3949,16.5344,10.2520,28.6169,31.2398,24.5816,25.9745,22.9981,13.8433,17.3071,21.7355,18.2007,26.2546,6.8199,7.2977,7.1245,7.2345,8.2616), ncol=4)> plot<-barplot(y, beside=TRUE, ylim=c(0,90), axis.lty=0.5,xlab="Light treatment", ylab="root length (mm)", main="Root", names.arg=c("White","Blue","Red","Far-red"))> segments(plot,y-se,plot,y+se)> legend("topleft", c("Sedingehult", "Mobranna", "Aunasvare", "Fallan", "Ylinen"), col=(greyPalette(n=5)))Kind regards Rosario
Hi,
Using legend as an argument within the call to barplot will automatically
add the color key to the legend. I don't know how to add the colors using
legend separately. Try this revised code:
y <-
matrix(c(46.5102,42.7561,45.7857,45.6047,45.7027,81.4565,69.8824,69.1333,67.56,57.8929,43.3019,42.9184,
51.7143,40.2727,51.7692,22.3871,24.2222,24.3226,23.6342,21.5833), ncol=4)
se <-
matrix(c(13.0707,12.0287,15.3949,16.5344,10.2520,28.6169,31.2398,24.5816,25.9745,22.9981,13.8433,17.3071,
21.7355,18.2007,26.2546,6.8199,7.2977,7.1245,7.2345,8.2616), ncol=4)
plot <- barplot(
y,
beside = TRUE,
ylim = c(0, 90),
axis.lty = 0.5,
xlab = "Light treatment",
ylab = "root length (mm)",
main = "Root",
names.arg =
c("White","Blue","Red","Far-red"),
legend = c("Sedingehult", "Mobranna",
"Aunasvare", "Fallan", "Ylinen")
)
segments(plot, y - se, plot, y + se)
--
View this message in context:
http://r.789695.n4.nabble.com/greyPalette-in-legend-plot-tp3795594p3796277.html
Sent from the R help mailing list archive at Nabble.com.