On 11/05/2017 2:36 PM, Antonio Silva wrote:
Hello r-users
I want to plot some barplots inside a looping with the legend placed
outside the plotting area.
No matter the number of bars I want the legend to be placed centered on the
x-axis.
See the example below
for(i in 1:10) {
var_1 <- sample(1000:100000,sample(3:8,1))
ymax <- max(var_1)
b<-barplot(var_1,col="blue")
var_2 <- sample(1000:ymax,length(var_1))
lines(rowSums(b),var_2,type="o",col="red",pch=16)
par(xpd=TRUE)
legend(*1.1*
,ymax*-0.072,c("var_1","var_2"),horiz=T,cex=1.3,bty="n",pch=c(15,16),col=c("blue","red"),lty=c(0,1),lwd=c(0,2),pt.cex=2)
readline(prompt="Press [enter] to continue")
}
What I should use as x position in legend(x,y, ...), instead of *1.1*, to
have the legend centered on the x-axis?
I would love to use something like legend(x="center",y=ymax*-0.072, ... but
it did not worked.
I appreciate any suggestions. Best regards.
Instead of "center", use "top" or "bottom". See the 2nd last example in
examples(legend) for the possibilities.
If you want the legend outside the plotting area, set "inset" and "xpd"
arguments. For example,
plot(1,1)
legend("top", pch = 1, legend = "point", inset = -0.1, xpd = TRUE)
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.