Mes catégories doivent être nommées avec des lettres grecques. J'utilise ggplot2
, et cela fonctionne à merveille avec les données. Malheureusement, je n'arrive pas à comprendre comment mettre ces symboles grecs sur l'axe des x (au niveau des graduations) et également les faire apparaître dans la légende. Y a-t-il un moyen de le faire?
MISE À JOUR: J'ai jeté un coup d'œil au lien , cependant, il n'y a pas de bonne méthode décrite pour accomplir ce que je veux faire.
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 les symboles grecs
parse = T
Dans geom_text
Ou annotate
.expression(alpha)
pour obtenir l'alpha grec.labeller = label_parsed
Dans facet
.bquote(alpha == .(value))
dans le libellé de la légende.Vous pouvez voir l'utilisation détaillée de ces options dans le lien
MODIFIER. L’objectif consistant à utiliser des symboles grecs le long des graduations 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 et sur leur utilisation, voir ?plotmath
.
Utilisez expression(delta)
où 'delta' pour les lettres minuscules δ
Et 'Delta' pour obtenir le capital Δ
.
Voici la liste complète des caractères grecs:
Α alpha
Β beta
Γ γ gamma
Δ δ delta
Ε epsilon
Ζ zeta
Η eta
Θ thêta
Ι iota
Κ kappa
Λ lambda
Μ μ mu
Ν nu
Ξ xi
Ο omicron
Π pi
Ρ ρ rho
Σ sigma
Τ tau
Upsupon
Phi
Χ chi
Psi
Ω ω oméga
EDIT: Copié à partir de commentaires, lorsqu’il est utilisé en conjonction avec d’autres mots, utilisez comme: expression(Delta*"price")
Solution la plus simple: utilisez des caractères Unicode
Pas de expression
ou d'autres paquets nécessaires.
Je ne sais pas s'il s'agit d'une nouvelle fonctionnalité de ggplot, mais cela fonctionne. Il est également facile de mélanger du texte grec et du texte normal (comme en ajoutant '*' aux ticks)
Utilisez simplement des caractères unicode dans la chaîne de texte. semble bien fonctionner pour toutes les options auxquelles je peux penser. Éditer: auparavant, cela ne fonctionnait pas dans les étiquettes de facettes. Cela a apparemment été corrigé à un moment donné.
library(ggplot2)
ggplot(mtcars,
aes(mpg, disp, color=factor(gear))) +
geom_point() +
labs(title="Title (\u03b1 \u03a9)", # works fine
x= "\u03b1 \u03a9 x-axis title", # works fine
y= "\u03b1 \u03a9 y-axis title", # works fine
color="\u03b1 \u03a9 Groups:") + # works fine
scale_x_continuous(breaks = seq(10, 35, 5),
labels = paste0(seq(10, 35, 5), "\u03a9*")) + # works fine; to label the ticks
ggrepel::geom_text_repel(aes(label = paste(rownames(mtcars), "\u03a9*")), size =3) + # works fine
facet_grid(~paste0(gear, " Gears \u03a9"))
Créé le 2019-08-28 par le package reprex (v0.3.0)
Vous n'avez pas besoin du paquet latex2exp
Pour faire ce que vous vouliez faire. Le code suivant ferait 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))
De plus, certains commentaires (sans réponse à ce jour) concernaient l'ajout d'un astérisque (*) après une lettre grecque. expression(alpha~"*")
fonctionne, donc je suggère d'essayer.
Plus de commentaires demandés sur l'obtention de Δ Price
Et je trouve que le moyen le plus simple d'y parvenir est expression(Delta~price))
. Si vous devez ajouter quelque chose avant la lettre grecque, vous pouvez également procéder de la manière suivante: expression(Indicative~Delta~price)
, ce qui vous permet d'obtenir: