On Sat, 2 Aug 2008, Bryan Hanson wrote:
Thanks Gavin, that nicely solved one problem. On a fresh look at the archives, I see my other problem was trying to paste expressions, a bad idea. So, I'm writing each line separately. All problems are fixed!
You want a single expression containing an unevaluated call to paste. E.g.
xx <- expression(paste(phantom()^35 * Cl, ": 75%"))I don't think trying to produce multi-line output from a single plotmath expression is a good idea (as it does not align on baselines).
By the way, I discovered from the archives that to get a % in the final output, you have to quote it in the expression: "%" which I suppose is a general feature. I may have missed it, but that behavior doesn't seem to be mentioned in the plotmath help page - perhaps it's too obvious?
% is not a valid character in a syntactic name, so you have to quote it (by ' " or `) to get it past the parser. That the expression has to syntactically valid in R is also why you need something before '^': {} will do as in
xx <- expression(paste({}^35 * Cl, `: 75%`))
The problem is parsing, nothing to do with plotmath (and hence one would
not expect the details to be under ?plotmath).
Thanks, Bryan On 8/2/08 2:19 PM, "Gavin Simpson" <[EMAIL PROTECTED]> wrote:On Fri, 2008-08-01 at 17:23 -0400, Bryan Hanson wrote:Hi all... I¹m making a chart dealing with frequencies of isotopes of various elements. For instance, I'd like the following text to appear on a chart with the "35" and "37" as superscripts: Based upon: 35Cl: 75% 37Cl: 25% I am having problems properly parsing the superscript that preceeds the "Cl", since there is no character ahead of the superscript (I saw examples in the archives where there was a preceeding character). Also, the construction of the string seems to not be working as I expect either. So, I think there are two problems here. Here is a sample of what doesn't quite work:expression(phantom()^{35}*Cl[1]) works if I understand what you want. phantom() is documented on ?plotmath (?phantom is an alias for this help page also) and allows you to leave space as though argument was there, but I use it here with no object so no space left but this has the side effect of allowing the superscript for this "space". Note that you need to wrap multiple character superscripts in {} ([] for subscripts). Also, you need to produce a valid expression so the * achieves this between the two components (the phantom()^{35} and the Cl[1] bits). You could also achieve the same result by pasting the bits together: expression(paste(phantom()^{35}, Cl[1])) but the former seems more familiar and intuitive to me now after grappling with plotmath for a while. GCl1 <- rbinom(1000, size = 1, prob = 0.25) pCl1 <- histogram(Cl1, main = expression(Cl[1]), xlab = "", ylab = "", scales = list(draw = FALSE), ylim = c(0:80)) plot(pCl1) # This works fine but doesn't have everything I want: leg.txt1 <- paste("Based upon:\n", ": 75%\n", ": 25%", sep = "") grid.text(leg.txt1, 0.5, 0.5) # This paste doesn't work due to the expression statements: leg.txt2 <- paste("Based upon:\n", expression(^35*Cl), ": 75%\n", expression(^37*Cl), ": 25%", sep = "") # This doesnt' produce an error, but doesn't produce what is wanted either, # as the expression is taken (almost) literally: leg.txt3 <- paste("Based upon:\n", expression(""^35*Cl), ": 75%\n", expression(""^37*Cl), ": 25%", sep = "") grid.text(leg.txt3, 0.5, 0.3)From watching the help list, I know parsing things can be tricky.TIA, BryansessionInfo()R version 2.7.1 (2008-06-23) i386-apple-darwin8.10.1 locale: en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] datasets grid grDevices graphics stats utils methods [8] base other attached packages: [1] fastICA_1.1-9 DescribeDisplay_0.1.3 ggplot_0.4.2 [4] RColorBrewer_1.0-2 reshape_0.8.0 MASS_7.2-42 [7] pcaPP_1.5 mvtnorm_0.9-0 hints_1.0.1-1 [10] mvoutlier_1.3 robustbase_0.2-8 lattice_0.17-8 [13] rggobi_2.1.9 RGtk2_2.12.5-3 ______________________________________________ [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.
-- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________ [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.

