ggplot2 R中轴标签的换行和上标

3

我正在尝试使用ggplot2绘制图表。 y轴标签应包含换行符和上标文本,并且应居中对齐。 它应该像这样:

"移动无脊椎动物密度(个体数/平方米)"

换行应在“移动”后,而“每平方米”应为上标。 我已经尝试过

p+ ylab(bquote("Density of mobile\ninvertebrates"(indiv.~m^-2)))

但它不是居中的,并且在“(indiv.~m^-2)”之前有一个奇怪的空格。

1个回答

5
你可以使用 expression()atop() 来自动格式化空格。
ggplot(data,aes(x=x,y=y)) + 
   geom_point() + 
   xlab( expression(atop("Density of mobile",paste("invertebrates (ind.~",m^{2},")"))))

这里输入图片描述

数据

set.seed(1) 
data <- data.frame(x = 1:10, y = 1:10 + runif(-1,1,n=10))

有没有办法修改行之间的间距?我使用cowplot将一些图形拼接在一起。其中一些图形之间的行间距较小,因为它们是用"\n"编码的。例如:p + ylab(bquote("栖息地\n功能丰富度"))。 - undefined
1
你可以将它们改为expression(atop("Habitat","functional richness"))。如果你真的很在意大小,你可以在一行轴标签上使用atop函数和第二个空字符串。例如,expression(atop("Niche","")) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接