R does a great job with the fine details regarding plots. e.g in the following: library(lattice) y <- -4:4/10 xyplot(y~1, las=1) the y axis is labelled with numbers -0.4, -0.2, 0.0, 0.2, 0.4 with the numbers aligned on the decimal point. How do I get the same behaviour in the colorkey of a levelplot? e.g. levelplot(matrix(y,3,3)) the numbers in the colorkey seem left-aligned, and because of the minus sign, the numbers now do not align on the decimal point. Likewise when the number of digits changes: levelplot(matrix(4:12,3,3)) Thanks, Stephen
On Sat, Jun 16, 2012 at 2:11 AM, Stephen Eglen <S.J.Eglen@damtp.cam.ac.uk>wrote:> R does a great job with the fine details regarding plots. e.g in the > following: > > library(lattice) > y <- -4:4/10 > xyplot(y~1, las=1) > >No. las is a parameter in base graphics ?par. It was simply ignored here: xyplot(y~1,scales=list(rot=45), las=1)> > the numbers in the colorkey seem left-aligned, and because of the minus > sign, the numbers now do not align on the decimal point. Likewise when > the number of digits changes: > > levelplot(matrix(4:12,3,3)) > > The labels are aligned to the colored rect. You want them aligneddifferently, change it manually. See the colorkey details in ?levelplot (also can help with your next thread on positioning). One obvious way is to add white spaces: levelplot(matrix(seq(4,120,l=9),3,3)) # or levelplot(matrix(seq(4,120,l=9),3,3),colorkey=list(at=seq(0,120,20),labels=c(' 0',' 20',' 40',' 60',' 80','100','120'))) (If your mail client gobbled them, in the above labels, 0 has two white spaces before it, 20 has 1 white space, etc.) Cheers> Thanks, Stephen > > ______________________________________________ > R-help@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. >[[alternative HTML version deleted]]
Deepayan Sarkar
2012-Jun-18 12:16 UTC
[R] aligning axis labels in a colorkey from levelplot
On Sat, Jun 16, 2012 at 1:41 PM, Stephen Eglen <S.J.Eglen at damtp.cam.ac.uk> wrote:> R does a great job with the fine details regarding plots. ?e.g in the > following: > > library(lattice) > y <- -4:4/10 > xyplot(y~1, las=1) > > the y axis is labelled with numbers -0.4, -0.2, 0.0, 0.2, 0.4 with the > numbers aligned on the decimal point. > > How do I get the same behaviour in the colorkey of a levelplot? ?e.g. > > levelplot(matrix(y,3,3)) > > the numbers in the colorkey seem left-aligned, and because of the minus > sign, the numbers now do not align on the decimal point. ?Likewise when > the number of digits changes: > > levelplot(matrix(4:12,3,3))Justification is hard-coded, and that's not easy to change. This is not only for the colorkey; e.g., xyplot(y~1, scales = list(alternating = 3)) will also give you left-aligned axes on the right. My only suggestion (other than custom labels as suggested by ilai) is levelplot(matrix(4:12,3,3), colorkey = list(space = "left")) -Deepayan