Comment utiliser les symboles grecs dans ggplot2?

mes catégories doivent être nommées avec des lettres grecques. J'utilise ggplot2 , et ça marche très bien avec les données. Malheureusement je ne peux pas comprendre comment mettre ces symboles grecs sur l'axe des x (graduations) et aussi de les faire apparaître dans la légende. Est-il possible de le faire?

mise à jour: J'ai regardé le lien , cependant, il n'y a pas de bonne méthode décrite pour accomplir ce que je veux faire.

74
demandé sur Aristos 2011-03-14 04:02:48

4 réponses

voici un lien vers un excellent wiki qui explique comment mettre des symboles grecs dans ggplot2. En résumé, voici ce que vous faites pour obtenir des symboles grecs

  1. les Étiquettes de Texte: Utiliser parse = T à l'intérieur geom_text ou annotate .
  2. étiquettes axiales: utilisez expression(alpha) pour obtenir le grec alpha.
  3. Facette Étiquettes: utiliser labeller = label_parsed inside facet .
  4. la Légende des Étiquettes: Utiliser bquote(alpha == .(value)) dans la légende de l'étiquette.

vous pouvez voir l'utilisation détaillée de ces options dans le lien

EDIT. L'objectif de l'utilisation de symboles grecs le long des marques de tique peut être atteint comme suit

require(ggplot2);
data(tips);
p0 = qplot(sex, data = tips, geom = 'bar');
p1 = p0 + scale_x_discrete(labels = c('Female' = expression(alpha),
                                      'Male'   = expression(beta)));
print(p1);

pour une documentation complète sur les différents symboles disponibles ce et comment les utiliser, voir ?plotmath .

121
répondu Ramnath 2015-12-31 18:09:13

utilisez expression(delta) où " delta "pour les minuscules δ et" Delta "pour obtenir le capital Δ .

Voici la liste complète des caractères grecs:

Α α alpha

Β β β bêta
1519110920" Γ γ γ gamma

Δ δ delta

Ε ε epsilon

Ζ ζ Zeta

Η η eta

Θ thêta

Ι ι iota

Κ κ KAPPA

Λ λ λ lambda

Μ mu

Ν ν nu

Ξ ξ xi

Ο ο omicron
1519110920" Π pi

Ρ ρ rho
1519110920" Σ σ sigma

Τ τ tau

Upsilon
1519110920" Φ φ phi

X χ chi

Ψ ψ psi

Ω ω omega

EDIT: Copié à partir d'observations, lors de l'utilisation en conjonction avec d'autres mots comme: expression(Delta*"price")

26
répondu Matas Vaitkevicius 2017-08-31 02:52:29

vous n'avez pas besoin du paquet latex2exp pour faire ce que vous vouliez faire. Le code suivant devrait faire l'affaire.

ggplot(smr, aes(Fuel.Rate, Eng.Speed.Ave., color=Eng.Speed.Max.)) + 
  geom_point() + 
  labs(title=expression("Fuel Efficiency"~(alpha*Omega)), 
color=expression(alpha*Omega), x=expression(Delta~price))

enter image description here

en outre, certains commentaires (sans réponse à partir de ce point) ont demandé de mettre un astérisque (*) après une lettre grecque. expression(alpha~"*") fonctionne, donc je suggère de donner un essai.

plus de commentaires demandés sur l'obtention de Δ Price et je trouve le le moyen le plus simple d'y parvenir est expression(Delta~price)) . Si vous avez besoin d'ajouter quelque chose avant la lettre grecque, vous pouvez également le faire: expression(Indicative~Delta~price) qui vous permet de vous:

enter image description here

6
répondu onlyphantom 2018-01-04 12:53:05

une alternative à l'utilisation de expression est d'utiliser des caractères unicode dans la chaîne de texte.

ggplot(mtcars, 
       aes(mpg, disp, color=factor(gear))) + 
  geom_point() + 
  labs(title="Test (\u03b1 \u03a9)", # works fine
       x= "\u03b1 \u03a9 Test",    # works fine
       y= "\u03b1 \u03a9 Test",    # works fine
       color="\u03b1 \u03a9 Test")  # works fine
2
répondu Matt L. 2018-10-02 14:07:53