[R] using a variable and a superscript in a legend

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Sun Oct 20 18:29:59 CEST 2019


The legend must be "an expression vector."
c("Sans renard",bquote(.(densren) (ind./km)^2))   is not because the first
element is a character string.

This works:

   plot(1:100,1:100,type="n")
   legend(list(x=0,y=100),legend=c(expression("Sans
renard"),bquote(.(densren)
(ind./km)^2)),lty=c(1,2),col=c("black","red"),bty="n")

Cheers,
Bert


Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Sun, Oct 20, 2019 at 9:02 AM Patrick Giraudoux <
patrick.giraudoux using univ-fcomte.fr> wrote:

> Thanks Bert and Peter,
>
> Yes Bert, I was aware of the legend() function syntax, and just quoting
> the legend argument within the function.
>
> However, Bert and Peter, I do not understand why it works with your
> absolutely reproducible examples and not in the slightly (not so slightly
> apparently) different context where I used it...
>
> densren=1.25
> plot(1:100,1:100,type="n")
> legend(list(x=0,y=100),legend=c("Sans renard",bquote(.(densren)
> (ind./km)^2)),lty=c(1,2),col=c("black","red"),bty="n")
>
> densren=1.25
> plot(1:100,1:100,type="n")
> legend(list(x=0,y=100),legend=c("Sans renard",bquote(.(densren) * "
> ind."/"km"^2)),lty=c(1,2),col=c("black","red"),bty="n"
>
> Probably because the result of bquote() is concatenated in a character
> vector, but how to deal with this ?
>
> Best,
>
> Patrick
>
>
>
> Le 20/10/2019 à 16:42, Bert Gunter a écrit :
>
> Assuming you are using base graphics, your syntax for adding the legend
> appears to be wrong.
> legend() is a separate function, not a parameter of plot.default afaics.
>
> The following works for me:
>
> > densren <- 1.25
> > plot(1:10)
> > legend (x="center", legend =bquote(.(densren) (ind./km)^2))
>
> See ?legend
>
> Bert Gunter
>
> "The trouble with having an open mind is that people keep coming along and
> sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>
>
> On Sun, Oct 20, 2019 at 5:30 AM Patrick Giraudoux <
> patrick.giraudoux using univ-fcomte.fr> wrote:
>
>> Dear listers,
>>
>> I am trying to pass an expression inlcuding a variable and a
>> superpscript to a legend. What I want to obtain is e.g. with densren =
>> 1.25
>>
>> 1.25 ind./km^2
>>
>> I have tried many variants of the following:
>>
>> legend=bquote(.(densren) (ind./km)^2)
>>
>> but if not errors, do obtain
>>
>> 1.25 (ind./km^2)
>>
>> hence not what I want (no parenthesis, 2 in superscript...)
>>
>> Any idea about a correct syntax to get what I need ?
>>
>> Best,
>>
>> Patrick
>>
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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]]



More information about the R-help mailing list