On 2014/9/4 12:24, David Winsemius wrote:

On Sep 3, 2014, at 10:05 PM, Jinsong Zhao wrote:

On 2014/9/3 21:33, Jinsong Zhao wrote:
On 2014/9/2 11:50, David L Carlson wrote:
The bottom of the expression is set by the lowest character (which can
even change for subscripted letters with descenders. The solution is
to get axis() to align the tops of the axis labels and move the line
up to reduce the space, e.g.

plot(1:5, xaxt = "n")
axis(1, at = 1:5, labels = c(expression(E[g]), "E", expression(E[j]),
"E", expression(E[t])), padj=1, mgp=c(3, .1, 0))
# Check alignment
abline(h=.7, xpd=TRUE, lty=3)

yes. In this situation, padj = 1 is the fast solution. However, If there
are also superscript, then it's hard to alignment all the labels.

If R provide a mechanism that aligns the label in axis() or text() with
the baseline of the character without the super- and/or sub-script, that
will be terrific.

it seems that the above wish is on the Graphics TODO lists:
https://www.stat.auckland.ac.nz/~paul/R/graphicstodos.html

Allow text adjustment for mathematical annotations which is relative to a text 
baseline (in addition to the current situation where adjustment is relative to 
the bounding box).


In many case adding a phantom argument will correct aliognment problems:

plot(1:5, xaxt = "n")
axis(1, at = 1:5, labels = c(expression(E[g]), E~phantom(E[g]), 
expression(E[j]),
E~phantom(E[g]), expression(E[t])))

abline(h=.7, xpd=TRUE, lty=3)

Notice that c(expression(.), ...) will coerce all items separated by commas to 
expressions, sot you cna just put in "native" expression that are not 
surrounded by the `expression`-function

c(expression(E[g]), E~phantom(E[g]), expression(E[j])  ) #returns
# expression(E[g], E ~ phantom(E[g]), E[j])

The tilde is actually a function that converts parse-able strings into R 
language objects:

c(expression(E[g]), E~phantom(E[g]), ~E[j])


I never knew the trick of c(expression(.), ...). It simplifies my code a lot.

Thanks a lot.

Best regards,
Jinsong

______________________________________________
R-help@r-project.org 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.

Reply via email to