2012-05-17 177 views
37

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()但如何做,在這種情況下怎麼辦?

+2

這是否'圖(0,xlab =表達式(粘貼( '(SOC [',KGM^-2, '])'^0.25,sep ='')))'回答你的問題? –

回答

37

它適用於軸以同樣的方式: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() 
+0

劇情中的文字標記是R練習中一個不太重要的領域。它似乎總是讓我困擾。謝謝你的清晰。如果有人爲此編寫了深入的教程,那將會很棒。 – digitalmaps

+0

用什麼字符表示下標? – hendra

+2

@npo:方括號(參見'?plotmath') –

23

這是一個簡單的例子

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

你如何寫不上標什麼底,如「第四時刻」不superscripting的「時刻」? – Pertinax

+0

@TheThunderChimp對不起,很晚回覆。也許你已經想出瞭如何做到這一點,但你可以這樣做:'plot(rnorm(30),xlab = expression(paste(「4」^「th」,「moment」)))' – Alex

2

在這種特殊情況下的其他選擇是鍵入度數符號:˚

[R似乎罰款處理。在Mac上鍵入Option-k以獲取它。不確定其他平臺。

+0

這樣做不適用於其他符號,如Unicode上標7(http://www.fileformat.info/info/unicode/char/2077/index.htm) – Pertinax

1

@The雷霆黑猩猩可以以這樣的方式,有些部分是由超(或次)受到影響的腳本拆分文本和別人不通過使用*。對於你的榜樣,從 「五四」 分裂字 「時刻」 -

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