Sebastien Bihorel
2009-Dec-04 16:34 UTC
[R] Apparent different in symbol scaling between xyplot and grid.points
Dear R-users,
For the past few days, I have been trying to find the reason why some of
my plots were showing symbols of different sizes, while I thought I was
using the same .cex arguments everywhere. The problem is exemplified by
the following example code where the xyplot and grid.points functions
are used. The scaling factor is set to 0.84 in both the functions
settings, but one can see that, in the pdf file, the blue symbols
plotted by xyplot are smaller than the single black symbol created by
grid.points. Playing with the trellis settings did not seem to solve the
problem. I am missing a hidden scaling factor somewhere, but don't know
where to look anymore
I would greatly appreciate the feedback of the list on this issue.
library(lattice)
library(grid)
pdf(file="test.pdf")
df <- data.frame(a=1:12,b=1:12,c=rep(1:4,each=3))
#trellis.par.set(superpose.symbol=list(cex=1))
xyplot(b~a|c,
data=df,
panel = function(x,y){
panel.xyplot(x,y,pch=3,cex=0.84)}
)
str(trellis.par.get())
str(get.gpar())
grid.points(x=100,y=85,pch=3,gp=gpar(cex=0.84))
dev.off()
baptiste auguie
2009-Dec-04 17:30 UTC
[R] Apparent different in symbol scaling between xyplot and grid.points
Hi,
I think the size mismatch occurs because of a different default for
the fontsize (and grid.points has a size of 1 character by default).
Compare the following two examples,
# default
grid.newpage()
pushViewport(viewport(x=unit(0.5, "npc"), y=unit(0.5,
"npc")))
lplot.xy(data.frame(x=0.55,y=0.5),type="p", pch=3)
grid.points(x=0.45,y=0.5, pch=3, gp=gpar(col="red"))
trellis.par.set("fontsize", list(points=12))
grid.newpage()
pushViewport(viewport(x=unit(0.5, "npc"), y=unit(0.5,
"npc")))
lplot.xy(data.frame(x=0.55,y=0.5),type="p", pch=3)
grid.points(x=0.45,y=0.5, pch=3, gp=gpar(col="red"))
HTH,
baptiste
2009/12/4 Sebastien Bihorel <Sebastien.Bihorel at
cognigencorp.com>:> Dear R-users,
>
> For the past few days, I have been trying to find the reason why some of my
> plots were showing symbols of different sizes, while I thought I was using
> the same .cex arguments everywhere. The problem is exemplified by the
> following example code where the xyplot and grid.points functions are used.
> The scaling factor is set to 0.84 in both the functions settings, but one
> can see that, in the pdf file, the blue symbols plotted by xyplot are
> smaller than the single black symbol created by grid.points. Playing with
> the trellis settings did not seem to solve the problem. I am missing a
> hidden scaling factor somewhere, but don't know where to look anymore
>
> I would greatly appreciate the feedback of the list on this issue.
>
> library(lattice)
> library(grid)
>
> pdf(file="test.pdf")
>
> df <- data.frame(a=1:12,b=1:12,c=rep(1:4,each=3))
>
> #trellis.par.set(superpose.symbol=list(cex=1))
>
> xyplot(b~a|c,
> ? ? ?data=df,
> ? ? ?panel = function(x,y){
> ? ? ? ?panel.xyplot(x,y,pch=3,cex=0.84)}
> ? ? ?)
>
> str(trellis.par.get()) ? ? ?str(get.gpar())
> grid.points(x=100,y=85,pch=3,gp=gpar(cex=0.84))
>
> dev.off()
>
> ______________________________________________
> R-help at 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.
>