在R轴标签中使用上标

问题描述 投票:42回答:4

在R中使用基本图形时,如何在地图上绘制纬度和经度轴时可能需要将上标添加到轴标签。

考虑这个例子:

plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE)
axis(1, seq(-100, -50, 10), labels=paste(abs(seq(-100, -50, 10)), "o", "W", sep=""))
axis(2, seq(50, 100, 10), labels=paste(seq(50,100,10), "o", "N", sep=""))
box()

在地图周围生成一个漂亮的框架。使度数符号上标更好。

这通常可以使用mtext()text()在其他绘图函数中完成,例如expression(paste(...))substitute()但在这种情况下如何做到这一点?

r
4个回答
41
投票

轴的工作方式相同:parse(text='70^o*N')o作为上标(*N是为了确保N也不会升高)。

labelsX=parse(text=paste(abs(seq(-100, -50, 10)), "^o ", "*W", sep=""))
labelsY=parse(text=paste(seq(50,100,10), "^o ", "*N", sep=""))
plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE)
axis(1, seq(-100, -50, 10), labels=labelsX)
axis(2, seq(50, 100, 10), labels=labelsY)
box()

25
投票

这是一个简单的例子

plot(rnorm(30), xlab = expression(paste("4"^"th")))

3
投票

在这种特殊情况下,另一种选择是键入度数符号:˚

R似乎处理得很好。在Mac上键入Option-k以获取它。不确定其他平台。


1
投票

@The Thunder Chimp你可以分割文本,使某些部分受到超级(或子)脚本的影响而其他部分不是通过使用*。就你的例子而言,将“时刻”这个词从“第四”中分离出来 -

plot(rnorm(30), xlab = expression('4'^th*'moment'))
© www.soinside.com 2019 - 2024. All rights reserved.