[Rd] Re: identify.default ignores any setting of cex (PR#660)
ligges@statistik.uni-dortmund.de
ligges@statistik.uni-dortmund.de
Wed, 25 Apr 2001 17:24:44 +0200 (MET DST)
A follow-up to PR#660 (15 Sep 2000) from Brian Ripley:
> R 1.1.1 on Windows, but I think this is widespread.
>
> Using either
>
> par(cex=0.5)
> plot(1:10)
> identify(1:10)
>
> or
>
> plot(1:10)
> identify(1:10, cex=0.5)
>
> ignores the cex setting. The root cause is that par(cex=0.5)
> alters cexbase for the device but sets cex=1.0, and the internal
> text plotting routines use cex and not cexbase.
>
> The obvious fix is to set cex to cexbase in do_identify. However,
> if this is fixed, there is another problem, The offset of the label
> is related to the cex in use for the label, and not for the symbol.
> So
>
> plot(1:10, type="n")
> points(1:10, cex=5)
> identify(1:10)
>
> is not sensible in placing the labels. That may be hard to anticipate,
> but
>
> plot(1:10)
> identify(1:10, cex=0.5)
>
> needs to use cex=1 not cex=0.5 for the adjustment. Perhaps identify is
> trying too hard, and should give the user more control over the precise
> position of the label (as S-PLUS does).
The same with
par(cex=1); plot(1:10); text(4, 5, "Hello World") # OK
par(cex=2); plot(1:10); text(4, 5, "Hello World") # OK
par(cex=2); plot(1:10); text(4, 5, "Hello World", cex = 1) # NOT OK
par(cex=2); plot(1:10); text(4, 5, "Hello World", cex = 0.5)
So the scaling with cex in text() is relative to the par() settings,
which is not the expected behaviour.
[R-1.2.2 on WinNT 4.0]
Uwe Ligges
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel 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-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._