On Sun, Aug 29, 2010 at 20:00, Worik R <wor...@gmail.com> wrote: > Is there a simple way to put a legend outside the plot area for a simple > plot? > > I found... (at http://www.harding.edu/fmccown/R/) > > # Expand right side of clipping rect to make room for the legend > *par(xpd=T, mar=par()$mar+c(0,0,0,4))* > > # Graph autos (transposing the matrix) using heat colors, > # put 10% of the space between each bar, and make labels > # smaller with horizontal y-axis labels > barplot(*t*(autos_data), main="Autos", ylab="Total", > col=*heat.colors(3), space=0.1, cex.axis=0.8, las=1, > names.arg=c("Mon","Tue","Wed","Thu","Fri"), cex=0.8*) > > # Place the legend at (6,30) using heat colors > legend(*6, 30,* names(*autos_data*), cex=*0.8*, fill=*heat.colors(3)*); > > But I do not understand > *par(xpd=T, mar=par()$mar+c(0,0,0,4))* > > Anyway it does not work for me when I change... > > > > y1 <- runif(100, max=1, min=0) > > y2 <- rnorm(100) > > ylim <- c(min(y1, y2), max(y1,y2)) > > plot(x, y1, pch=1, ylim=ylim) > > points(x, y2, pch=2) > > legend("topleft", legend=c("Uniform", "Normal"), pch=c(1,2)) > > To > > > par(xpd=T, mar=par()$mar+c(0,0,0,4)) > > plot(x, y1, pch=1, ylim=ylim) > > points(x, y2, pch=2) > > legend(6, 30, legend=c("Uniform", "Normal"), pch=c(1,2)) >
It looks like (6,30) is way outside of the plot area, which is why you don't see the legend. I like to use the values of par()$usr (the xlim and ylim of the current plot) to set the legend position. This way it is always relative to the plotting area. Try this: par(mar=c(5.1, 4.1, 4.1, 6.1) ) plot(1:10) legend( par()$usr[2], mean(par()$usr[3:4]), legend=c("Uniform", "Normal"), pch=c(1,2), xpd=TRUE, xjust=0, yjust=0.5) And play around with xjust and yjust to get the legend where you want it. Hope that helps > > I do not get to see the legend at all. > > I am confused.... > > cheers > Worik > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.