[R] embedding expression into title in R plot

David Winsemius dwinsemius at comcast.net
Mon Jan 11 19:01:39 CET 2016


> On Jan 11, 2016, at 7:59 AM, Evan Cooch <evan.cooch at gmail.com> wrote:
> 
> Suppose I've specified that the xlab for a plot is
> 
> expression(bold(species~(italic(N1))))
> 
> In other words, I want the axis label to be bold, italic 'species (N1)'
> 
> Now, I want the title for the plot to be have this label embedded in the 
> title.
> 
> Say, 'This is the plot for Species (N1)'.
> 
> For a variety of reasons, I've set this up so that the xlab is a global 
> parameter (basically, because the labels are set in a function which 
> when called, generates various plots):
> 
> x_label <<- expression(bold(species~(italic(N1))))

> 
> So, in the title, I've tried
> 
>  title(main=paste("This is the plot for ",x_label,"nullcline", sep=" "));
> 
> but what this does is generate something like
> 
> 'This is the plot for bold(species~(italic(N1)))'
> 
> In other words, it pastes the text of the expression into the title, but 
> not what the expression 'evaluates' to.
> 
> Is there any way around this?

You instead need the `bquote` function. The `paste` function will only confuse things. In this particular instance it is embedding the literal as.character result of 'x_label'-value in a character object rather than in an expression-object. Since you have not offered a full example it remains unclear whether you want the words: "species" or "N1" rather than the values of those names.


> 
> Thanks in advance...
> 
> 
> 	[[alternative HTML version deleted]]

This is a plain text mailing list.
> 
> ______________________________________________
> 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.

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list