我正在尝试使用在几篇文章中引用的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”作为上标来读取“电草芽密度(拍摄/平方米)”。我想念什么?
您不需要第二个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] 删除。
我来说两句