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.
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
- les Étiquettes de Texte: Utiliser
parse = T
à l'intérieurgeom_text
ouannotate
. - étiquettes axiales: utilisez
expression(alpha)
pour obtenir le grec alpha. - Facette Étiquettes: utiliser
labeller = label_parsed
insidefacet
. - 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
.
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")
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))
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:
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