Patrick Giraudoux
2019-Oct-20 12:28 UTC
[R] using a variable and a superscript in a legend
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]]
I did a Google search on R plot superscript in legend and the first search result was https://stackoverflow.com/questions/20453408/superscript-r-squared-for-legend which looks like it might address your question. On Sun, Oct 20, 2019 at 3:30 PM Patrick Giraudoux < patrick.giraudoux at 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 at 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]]
Patrick Giraudoux
2019-Oct-20 13:05 UTC
[R] using a variable and a superscript in a legend
Thanks Eric. I got it too already (and already tried some variations based on it), but to my understanding it does not include a variable whose contents is used in the expression as in the case submitted... Le 20/10/2019 ? 14:56, Eric Berger a ?crit?:> I did a Google search on > > R plot superscript in legend > > and the first search result was > https://stackoverflow.com/questions/20453408/superscript-r-squared-for-legend > > ?which looks like it might address your question. > > On Sun, Oct 20, 2019 at 3:30 PM Patrick Giraudoux > <patrick.giraudoux at univ-fcomte.fr > <mailto:patrick.giraudoux at 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 at r-project.org <mailto:R-help at 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]]
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 at 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 at 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]]
Patrick Giraudoux
2019-Oct-20 16:02 UTC
[R] using a variable and a superscript in a legend
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 at univ-fcomte.fr
> <mailto:patrick.giraudoux at 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 at r-project.org <mailto:R-help at 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]]