web-dev-qa-db-fra.com

Ajout de caractères grecs au titre de l'axe

Je veux ajouter un caractère grec à l'axe des ordonnées de mon barplot dans R.
Le problème est que j'ai besoin que ce personnage soit intégré au titre. Je veux ecrire:

Diameter of aperture ("mu"m)

dans l'étiquette d'axe.

Avec

ylab=expression()

Je peux écrire le personnage grec avec

ylab="axis title"

Je peux écrire le titre avec des espaces appropriés entre les mots.

Mais je ne peux pas trouver un moyen de mettre tous ces éléments ensemble et d'écrire une étiquette appropriée avec un mot grec dans l'étiquette d'axe. J'espère avoir été assez clair.

57
Rita

Si vous utilisez plotmath{grDevices}, la page d’aide principale ( plotmath ) contient un exemple de ce que vous semblez vouloir:

xlab = expression(paste("Phase Angle ", phi))

ou pour votre cas, je suppose:

ylab = expression(paste("Diameter of aperture ( ", mu, " )"))

Est-ce que ça marche pour toi?

62
Nick Sabbe

Je pense avoir bien suivi votre question. Le ~ Force un espace entre les caractères dans un appel à expression(). c'est ce que tu veux?

plot(1:3, ylab = expression("Diameter of apeture (" * mu ~ "m)"),
  , xlab = expression("Force spaces with ~" ~ mu ~ pi * sigma ~ pi)
  , main = expression("This is another Greek character with space" ~ sigma))

enter image description here

33
Chase

Et si vous souhaitez substituer des variables dans le texte, utilisez bquote. Par exemple, si vous avez une variable mu et que vous souhaitez l'afficher dans le titre, utilisez l'idiome suivant:

mu <- 2.8
plot(1:3, main=bquote(mu == .(mu)))

La partie incluse dans .() sera remplacée, de sorte que la valeur de mu sera imprimée et non le caractère grec "mu". Consultez l'aide de R sur bquote pour plus de détails.

enter image description here

13
Laryx Decidua

Cela devrait être beaucoup plus simple avec latex2exp:

require(latex2exp)
plot(1, xlab = TeX('$\\mu$'))
5
by0

Et, au cas où vous auriez affaire à une quantité estimée, plotmath{grDevices} Offre également la possibilité d'ajouter un bonnet à votre lettre grecque:

ylab = expression(paste("Diameter of aperture ( ", hat(mu), " )"))

Le mu inclus dans hat() fait l'affaire.

3
emagar