在R轴标签中使用上标

时间:2012-05-17 00:41:50

标签: r

在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(),但在这种情况下如何执行此操作?

4 个答案:

答案 0 :(得分: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()

答案 1 :(得分:25)

这是一个简单的例子

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:1)

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

plot(rnorm(30), xlab = expression('4'^th*'moment'))