Caracteres especiales y superíndices en los títulos del eje de la trama


Estoy tratando de hacer un título del eje y con un carácter especial y un superíndice. Soy capaz de hacer esto, pero quiero que los paréntesis de cierre no sean superíndice. Y eso es con lo que estoy teniendo un problema. Creo que es solo una colocación de mi paréntesis, pero he intentado (aparentemente) todo.

plot(WatexCl, ConcuM, col = as.numeric(1), pch = as.numeric(Depth), 
   xlab = expression(paste("Concentration Cl  ( ", mu, "moles/g dry wt)")), 
   ylab = expression(paste("Average Conc of S- on plates ( ", mu, "Moles/cm"^"2"),)), 
   data = plates)
Author: zx8754, 2013-04-01

2 answers

La única cosa que a menudo los usuarios no entienden es que invariablemente no es necesario entrecomillar cadenas y paste cuando se usan en una expresión para una etiqueta de parcela. Por lo general, es más sencillo usar las herramientas de diseño directamente (por ejemplo, ~ y *). Por ejemplo:

df <- data.frame(y = rnorm(100), x = rnorm(100))

plot(y ~ x, data = df,
     ylab = expression(Average ~ Conc ~ of ~ S- ~ on ~ plates ~ 
                       (mu ~ Moles ~ cm^{-2} ~ dry ~ wt)),
     xlab = expression(Concentration ~ Cl ~ (mu ~ moles ~ g^{-1} ~ dry ~ wt)))

Alternativamente, puede incluir cadenas para secciones más largas de texto; en este caso es posiblemente más fácil de hacer:

plot(y ~ x, data = df,
     ylab = expression("Average Conc of S- on plates" ~
                         (mu ~ moles ~ cm^{-2} ~ "dry wt")),
     xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))

Pero tenga en cuenta que no hay necesidad de paste cadenas y otras características aquí.

Ambos producir:

introduzca la descripción de la imagen aquí

Tenga en cuenta el problema que tiene plotmath con el superíndice 2. Es posible que desee agregar un espacio adicional para el margen del eje y para acomodar eso:

op <- par(mar = c(5,4.5,4,2) + 0.1)
plot(y ~ x, data = df,
     ylab = expression("Average Conc of S- on plates" ~
                          (mu ~ moles ~ cm^{-2} ~ "dry wt")),
     xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))
par(op)

Produciendo

introduzca la descripción de la imagen aquí

 61
Author: Gavin Simpson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-01 01:45:24

Esto resuelve el problema del paréntesis de cierre super-scripted:

# reproducible data
plates <- data.frame(WatexCl = rnorm(100), ConcuM = rnorm(100), Depth = rnorm(100))

# alter the default plot margins so the 
# superscript in the y-axis label is completely displayed
par(mar=c(5,5,4,2))

# draw the plot
plot(WatexCl ~ ConcuM, data = plates,
     col = as.numeric(1), 
     pch = as.numeric(Depth), 
     xlab = bquote("Concentration Cl ("*mu~"moles/g dry wt)"), 
     ylab = bquote("Average Conc of S- on plates ("~mu~"Moles/cm"^"2"*")"))

introduzca la descripción de la imagen aquí

 6
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-01 02:06:59