[R] Bug in legend?
Steve Roberts
steve.roberts at man.ac.uk
Wed Jul 31 13:31:08 CEST 2002
This is a bit obscure but caused me some grief... R1.5.1/MS
Windows
There seems to be a peculiarity in legend associated with the use
of expression text. It seems as if expression text is used in (eg) an
mtext call then if the call to legend also includes expression text
and a subscript then the legend box and line spacing depends on
the value of cex used in the previous call to mtext, rather than that
specified in the call to legend.
An R file which demonstrates the problem is pasted below (subject
to the usual line wrapping issues)
Steve.
-------------------------------------------------------------------------------------
par(mfrow=c(2,2))
#Drawing a legend containing a subscript following a call to mtext
also containing expression text - the
# legend layout is dependent on the cex size specified in the
previous call to mtext
# (regardless of the size set in the call to legend).....
#This shows the issue...
for (i in 1:4)
{
plot(c(0,1),c(0,1),type="n",xaxt="n",yaxt="n",xlab="",ylab="")
#empty plot
mtext(expression(Expression~text),cex=i/2) #Some text in
margin - expression TEXT
legend(.5,.5,expression(Some[subscripted],Thing),lty=c(1,2),bty="o
",xjust=.5,yjust=.5,cex=1) #Draw legend with subscript in middle of
plot
}
#This does what it should
for (i in 1:4)
{
plot(c(0,1),c(0,1),type="n",xaxt="n",yaxt="n",xlab="",ylab="")
#empty plot
mtext("Normal Text",cex=i/2) #Some text in margin - normal
TEXT
legend(.5,.5,expression(Some[subscripted],Thing),lty=c(1,2),bty="o
",xjust=.5,yjust=.5,cex=1) #Draw legend with subscript in middle of
plot
}
#As does this
for (i in 1:4)
{
plot(c(0,1),c(0,1),type="n",xaxt="n",yaxt="n",xlab="",ylab="")
#empty plot
mtext(expression(Expression~text),cex=i/2) #Some text in
margin - expression TEXT
legend(.5,.5,expression(Some~unsubscripted,Thing),lty=c(1,2),bty=
"o",xjust=.5,yjust=.5,cex=1) #Draw legend NO SUBSCRIPT in
middle of plot
}
#A second call to legend gets it right!
plot(c(0,1),c(0,1),type="n",xaxt="n",yaxt="n",xlab="",ylab="")
#empty plot
mtext(expression(Expression~text),cex=2) #Some text in
margin - expression TEXT
legend(.5,.5,expression(Some[subscripted],Thing),lty=c(1,2),bty="o
",xjust=.5,yjust=.5,cex=1) #Draw legend with subscript in middle of
plot
legend(.5,.5,expression(Some[subscripted],Thing),lty=c(1,2),bty="o
",xjust=.5,yjust=.5,cex=1) #Draw legend with subscript in middle of
plot
------------------------------------------------------------------------------------
Dr Steve Roberts
steve.roberts at man.ac.uk
Biostatistics Group,
School of Epidemiology and Health Sciences,
2nd Floor,Stopford Building,
University of Manchester.
M13 9PT.
0161 275 5192
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list