Is there a simpler way then the solution to the one that was posted here? I'm not very proficient with legend, and I don't understand this solution. All I have is two or more lines on one plot that I want to put a legend on and I can't figure out how to do it from the examples. Can you give a very simple example? It does not have to be fancy!! I have never worked with a package where the legend was not automatic. ---------- Forwarded Message ---------- Subject: Re: [R] legend() with option adj=1 Date: Wed, 21 May 2003 09:19:11 +0200 From: Uwe Ligges <ligges at statistik.uni-dortmund.de> To: Jerome Asselin <jerome at hivnet.ubc.ca> Cc: r-help at stat.math.ethz.ch
Jerome Asselin wrote:
Hi there,
I want to justify to right the text of my legend. Consider this short
reproducable example.
x <- 1:5
y1 <- 1/x
y2 <- 2/x
plot(rep(x,2),c(y1,y2),type="n",xlab="x",ylab="y")
lines(x,y1)
lines(x,y2,lty=2)
legend(5,2,c("1,000","1,000,000"),lty=1:2,xjust=1,yjust=1)
legend(5,1.5,c("1,000","1,000,000"),lty=1:2,xjust=1,yjust=1,adj=1)
Now, I would like to right-justify the text of the legend. As you can see,
the option adj=1 does not give satisfactory results.
Is this a bug or is there an easy way that I'm missing?
Thanks,
Jerome
Works, e.g., with the following little trick:
x <- 1:5
y1 <- 1/x
y2 <- 2/x
plot(rep(x,2),c(y1,y2),type="n",xlab="x",ylab="y")
lines(x,y1)
lines(x,y2,lty=2)
temp <- legend(5, 2, legend = c(" ", " "),
text.width = strwidth("1,000,000"), lty = 1:2, xjust = 1, yjust = 1)
text(temp$rect$left + temp$rect$w, temp$text$y,
c("1,000", "1,000,000"), pos=2)
See ?legend for details, in particular the returned value.
Uwe Ligges
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help