ggplot 图例标题:上标搞乱了格式

ggplot legend title: superscript messes up formatting

如您所见(见下图),图例标题中的上标一直向右移动(可能是由于第一行中的长字)。首先,我假设更改标题的行高会有所帮助,但事实并非如此。另外我想换行以保存 space.

你有什么解决办法吗?

library("ggplot2")
x <- seq(1,10,1)
y <- sin(x)
z <- c("1", "1", "2", "2", "2", "1", "2", "3", "3", "3")

df <- data.frame(x,y,z)

p <- ggplot(df, aes(x,y, color=z))
p + geom_point() +
  labs(
    color = expression(
      paste(
        "Catalyst Loading \n(mg cm"^{-2}*")"
        )
      )
    )

这是 \n 让您感到困惑的传奇标题。要使用换行符和表达式,我建议 atop 解决方案:

library(ggplot2)
nameColor <- bquote(atop(Catalyst~Loading~phantom(),
                         (mg~cm^-2)))
ggplot(df, aes(x, y, color = z)) + 
    geom_point() +
    labs(color = nameColor)