clavier - Caractères spéciaux et exposants sur les titres d'axes de tracé



exposant 1 clavier (2)

J'essaye de faire un titre d'axe des y avec un caractère spécial et un exposant. Je suis capable de faire cela, mais je veux que les parenthèses fermantes ne soient pas en exposant. Et c'est ce que j'ai un problème avec. Je pense que c'est juste un placement de mes parenthèses, mais j'ai essayé (apparemment) tout.

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)

https://src-bin.com


Answer #1

Cela résout le problème de la parenthèse fermante super-scriptée:

# 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"*")"))


Answer #2

La chose que les utilisateurs ne saisissent souvent pas est que vous n'avez invariablement pas besoin de citer des chaînes et de les paste ensemble lorsqu'elles sont utilisées dans une expression pour une étiquette de parcelle. Il est généralement plus simple d'utiliser les outils de mise en page directement (par exemple ~ et * ). Par exemple:

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)))

Vous pouvez également inclure des chaînes pour des sections de texte plus longues. dans ce cas, il est sans doute plus facile à faire:

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")))

mais notez qu'il n'est pas nécessaire de paste chaînes et d'autres fonctionnalités ici.

Les deux produisent:

Notez le problème que plotmath a avec l'exposant 2. Vous pouvez ajouter de l'espace supplémentaire pour la marge de l'axe y afin de prendre en compte cela:

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)

produisant





plotmath