使用plotmath在ggplot2中上标

维宁斯卡

我正在尝试使用在几篇文章中引用的plotmath表达式来获取y轴单位的上标。我已经在使用表达式的过程中以及在这里浏览了所有线程,但这对我不起作用。这是我到目前为止的内容:

ggplot(data.frame, aes(Region, Zmar_sh)) + 
  geom_boxplot() + xlab("Region") +  
  ylab(expression(paste("eelgrass shoot density", " (shoots/", expression(m[2])))) +
  ggtitle(expression(paste(italic("Zostera marina")," shoot density in X Bay", sep = " ")))

ggtitle表达式可以工作,但是我的y轴仍无法以“ 2”作为上标来读取“电草芽密度(拍摄/平方米)”。我想念什么?

eipi10

您不需要第二个expression()另外,m[2]给出下标。使用m^2上标的。

这是内置mtcars数据框的示例

ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  ylab(expression(paste("eelgrass shoot density", " (shoots/", m^2,")")))

实际上,您甚至不需要使用paste相反,您可以这样做:

ylab(expression(eelgrass~shoot~density~(shoots/m^2)))

~“空格”字符在哪里如果在单词之间放置实际空格(不使用~),则会出现错误。但是,为了提高可读性,您还可以这样做:

ylab(expression(eelgrass ~ shoot ~ density ~ (shoots/m^2)))

这等效于上面的代码,因为只要~存在,空格就会被忽略

ylab上面的任何表达式都将给出以下图表:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章