web-dev-qa-db-fra.com

Caractères spéciaux et exposants sur les titres d'axe de parcelle

J'essaie de créer un titre en ordonnée avec à la fois un caractère spécial et un indice supérieur. Je suis capable de faire cela, mais je veux que les parenthèses fermantes ne soient pas en exposant. Et c'est ce qui me pose problème. Je pense que c'est juste un placement de ma parenthèse, mais j'ai tout essayé (apparemment).

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)
40
Valerie S

Une chose que souvent les utilisateurs ne comprennent pas, c'est que vous n'avez invariablement pas besoin de citer des chaînes et paste ensemble quand elles sont utilisées dans une expression pour une étiquette de tracé. Il est généralement plus simple d’utiliser les outils de présentation 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 de 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'y a pas besoin de paste chaînes et autres fonctionnalités ici.

Les deux produisent:

enter image description here

Notez le problème rencontré par le diagramme avec l'indice 2. Vous pouvez ajouter un espace supplémentaire pour la marge de l'axe des ordonnées afin de prendre en compte les éléments suivants:

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

enter image description here

66
Gavin Simpson

Cela résout le problème de la parenthèse de fermeture 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"*")"))

enter image description here

7
Ben