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