Search code examples
rggplot2axis-labels

Axis label specifications in ggplot


I'm attempting to have a two-line y-axis label that contains a superscript in ggplot and I am struggling.

I want the y axis label to say “[3H]ASEM binding (pmol/g)” with the 3 superscripted and (pmol/g) on a separate line.

This is what I have tried so far:

labs(x="", y=expression(paste("[" ^3 "H] ASEM Binding \n (pmol/g)"))) 

And it's given me the error "unexpected string constant"

Any suggestions?


Solution

  • You need an empty ''(2 single quotes) prior to the ^3.

      ggplot(sample_data, aes(x, y)) +
      geom_point() +
      labs(
        x = "",
        y = expression(atop(paste("[", ''^3, "H] ASEM Binding"), "(pmol/g)"))
      )
    

    enter image description here

    Another alternative is:

    y = expression(atop("["^3*"H] ASEM Binding", "(pmol/g)"))