Re: [R] lattice: how to "center" a subtitle?

From: David Winsemius <dwinsemius_at_comcast.net>
Date: Mon, 04 Apr 2011 13:58:43 -0400

On Apr 4, 2011, at 1:27 PM, Marius Hofert wrote:

> Dear David,
>
> do you know how to get plotmath-like symbols in both rows?
> I tried s.th. like:
>
> lab <- expression(paste(alpha==1, ", ", beta==2, sep=""))
> xlab <- substitute(expression( atop(lab==lab., bold(foo)) ),
> list(lab.=lab))
> xyplot(0 ~ 0, xlab = xlab)

I _did_ have plotmath functions in both rows: But here is your solution:

xyplot(0 ~ 0, xlab =

     expression( atop(paste(alpha==1, "   ", beta==2), bold(bla) )) )
       )

Note that `paste` in plotmath is different than `paste` in regular R. It has no `sep` argument. I did try both substitute and bquote on you externally expression, but lattice seems to be doing some non- standard evaluation and I never got it to "work". Using what I thought _should_ work, does work with `plot`:

 > x=1;y=2
 > plot(0 ~ 0, xlab = bquote( atop(alpha==.(x)*","~beta==.(y), bold(foo) ) )
+ )

But the same expression throws an error with xyplot:  > x=1;y=2
 > xyplot(0 ~ 0, xlab = bquote( atop(alpha==.(x)*","~beta==.(y), bold(foo) ) )
+ )
Error in trellis.skeleton(formula = 0 ~ 0, cond = list(1L), aspect = "fill", :

   could not find function "atop"

-- 
David.



>
> Cheers,
>
> Marius
>
> On 2011-04-04, at 18:59 , David Winsemius wrote:
>
>>
>> On Apr 4, 2011, at 12:45 PM, Marius Hofert wrote:
>>
>>> Dear David,
>>>
>>> I intended to use another x-label. But your suggestion brings me
>>> to the idea of just using a two-line xlab, so s.th. like
>>> print(xyplot(0 ~ 0, xlab.top = "This title is now 'centered' for
>>> the human's eye", xlab = "but subtitles are _now_ centered\nbla",
>>> scales = list(alternating = c(1,1), tck = c(1,0))))
>>
>> And if you wanted different fontface (underline, italic or bold)
>> then you could use plotmath expressions:
>>
>> xyplot(0 ~ 0, xlab.top = "This title is now 'centered' for the
>> human's eye", xlab =
>> expression( atop(but~subtitles2~are~underline(now)~centered,
>> bold(bla) )), scales = list(alternating = c(1,1), tck = c(1,0)))
>>
>> --
>> David.
>>
>>>
>>> Thanks!
>>>
>>> Cheers,
>>>
>>> Marius
>>>
>>> On 2011-04-04, at 16:47 , David Winsemius wrote:
>>>
>>>>
>>>> On Apr 4, 2011, at 7:39 AM, Marius Hofert wrote:
>>>>
>>>>> Dear expeRts,
>>>>>
>>>>> I recently asked for a real "centered" title (see, e.g., http://tolstoy.newcastle.edu.au/R/e13/help/11/01/0135.html)
>>>>> .
>>>>> A nice solution (from Deepayan Sarkar) is to use "xlab.top"
>>>>> instead of "main":
>>>>>
>>>>> library(lattice)
>>>>> trellis.device("pdf")
>>>>> print(xyplot(0 ~ 0, xlab.top = "This title is now 'centered' for
>>>>> the human's eye", sub = "but subtitles are not centered", scales
>>>>> = list(alternating = c(1,1), tck = c(1,0))))
>>>>> dev.off()
>>>>
>>>> library(lattice)
>>>> trellis.device("pdf")
>>>> print(xyplot(0 ~ 0, xlab.top = "This title is now 'centered' for
>>>> the human's eye", xlab = "but subtitles are _now_ centered",
>>>> scales = list(alternating = c(1,1), tck = c(1,0))))
>>>> dev.off()
>>>>
>>>>
>>>> (I realize that those are not really subtitles by a 'lab', but
>>>> that appears acceptable in your current test case.)
>>>>
>>>>>
>>>>> My question is whether there is something similar for
>>>>> *sub*titles [so something like "xlab.bottom"]? As you can see
>>>>> from the plot, the subtitle does not seem to be "centered" for
>>>>> the human's eye. I would like to center it according to the x-
>>>>> axis label.
>>>>>
>>>>
>>>>
>>>> David Winsemius, MD
>>>> West Hartford, CT
>>>>
>>>
>>
>> David Winsemius, MD
>> West Hartford, CT
>>
>
David Winsemius, MD West Hartford, CT ______________________________________________ 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.
Received on Mon 04 Apr 2011 - 18:03:28 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 05 Apr 2011 - 01:10:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive