How to use Greek symbols in ggplot2? How to use Greek symbols in ggplot2? r r

How to use Greek symbols in ggplot2?


Here is a link to an excellent wiki that explains how to put greek symbols in ggplot2. In summary, here is what you do to obtain greek symbols

  1. Text Labels: Use parse = T inside geom_text or annotate.
  2. Axis Labels: Use expression(alpha) to get greek alpha.
  3. Facet Labels: Use labeller = label_parsed inside facet.
  4. Legend Labels: Use bquote(alpha == .(value)) in legend label.

You can see detailed usage of these options in the link

EDIT. The objective of using greek symbols along the tick marks can be achieved as follows

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);

For complete documentation on the various symbols that are available when doing this and how to use them, see ?plotmath.


Simplest solution: Use Unicode Characters

No expression or other packages needed.
Not sure if this is a newer feature for ggplot, but it works.It also makes it easy to mix Greek and regular text (like adding '*' to the ticks)

Just use unicode characters within the text string.seems to work well for all options I can think of.Edit: previously it did not work in facet labels. This has apparently been fixed at some point.

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"))

Created on 2019-08-28 by the reprex package (v0.3.0)


Use expression(delta) where 'delta' for lowercase δ and 'Delta' to get capital Δ.

Here's full list of Greek characters:

Α α alpha
Β β beta
Γ γ gamma
Δ δ delta
Ε ε epsilon
Ζ ζ zeta
Η η eta
Θ θ theta
Ι ι iota
Κ κ kappa
Λ λ lambda
Μ μ mu
Ν ν nu
Ξ ξ xi
Ο ο omicron
Π π pi
Ρ ρ rho
Σ σ sigma
Τ τ tau
Υ υ upsilon
Φ φ phi
Χ χ chi
Ψ ψ psi
Ω ω omega

EDIT: Copied from comments, when using in conjunction with other words use like: expression(Delta*"price")