Peter,
thank you. this is perfect. I have been looking for this idiom for years.
xyplot(0 ~ 1, sub=as.expression(
bquote(pi==.(pi) ~ e==.(exp(1)))
))
Can you add this idiom to the examples in the ?plotmath page.
And perhaps also to the ?xyplot page
Rich
On Fri, Nov 22, 2013 at 3:14 AM, peter dalgaard <[email protected]> wrote:
>
> On 22 Nov 2013, at 07:53 , Rolf Turner <[email protected]> wrote:
>
>> On 11/22/13 18:47, William Dunlap wrote:
>>>> a <- 2; b <- 3; xyplot(1:10 ~ a*(1:10), sub = c(bquote(a == .(a) ~
>>>> b==.(b))))
>>>>
>>>> the subtitle contains three copies of the "a = 2 b = 3" phrase.
>>>> Why does it do that? How do I tell it to give me only one copy?
>>> To avoid it don't wrap bquote() with c(). The following does what you
>>> asked for:
>>> a <- 2; b <- 3; xyplot(1:10 ~ a*(1:10), sub = bquote(a == .(a) ~
>>> b==.(b)))
>>
>> Not for me it doesn't. Without the c() wrapper, I get no subtitle at all.
>> Your recipe seems to
>> work with base graphics and plot() but not with lattice and xyplot(). Also
>> the c() wrapper
>> seems to have no impact when used with plot().
>>
>> Moreover I am mystified by the impact of the c() wrapper when used with
>> xyplot().
>>
>> The result returned by bquote() has class "call". The result returned by
>> c(bquote(...)) is a
>> list, of length 1, whose sole entry is of class "call" and is, as one might
>> expect, equal to the
>> result returned by bquote().
>>
>> But why should passing this length-1 list as the value for "sub" cause a
>> triplication of the
>> subtitle?
>
> I dunno either, but a hint at the reason would be to look at what happens with
>
> xyplot(0 ~ 1, sub=list(quote(1+1)))
>
> When you do computing on the language, sometimes quote()’ing is not
> sufficient protection against evaluation. That’s what expression objects are
> for.
>
> A solution seems to be
>
> xyplot(0 ~ 1, sub=as.expression(
> bquote(pi==.(pi) ~ e==.(exp(1)))
> ))
>
>
>
>
> --
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: [email protected] Priv: [email protected]
>
> ______________________________________________
> [email protected] 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.
______________________________________________
[email protected] 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.