2017-03-08 372 views
0

我有一些問題試圖改變兩個軸的值。如何在R中將數值從數字更改爲字符?

所有我想要做的只是改變這些值,那些在圖片中可以看到的確切值(20,0,-20,-40):「20°N」,「EQ」,「 20°S和40°S(這同樣與X軸)

lat<-seq(-51.25,31.25,by=2.5) 
lon<-seq(238.75,331.25,by=2.5) 
data<-nc_open("aprecFeb2012.nc") 
dataZG<-ncvar_get(data,"aprod") 
dataz<-dataZG[96:133,16:49] 

filled.contour(lon, lat, dataz,zlim =c(-500:500), 
plot.axes={axis(1);axis(2);map('world2', add=TRUE);grid()}) 

注意:您可以下載我用在這個例子中here

Picture

的netCDF文件PD:請使用相同的功能(filled.contour)

我只想說,這真快: 你們已經真的對我很有幫助,這個過去的兩年中(因爲我一直在使用R上的時間),所以有幫助的,這是我的第一個問題曾經在這裏計算器。謝謝你這麼多

親切的問候,

弗雷迪

回答

0

x和y軸的註釋可以通過filled.contourplot.axes參數進行更改。見?axis幫助文件,它告訴我們atlabels可以爲每個axis側被定義,其中1 =底部(x軸),2 =左(y軸),3 =以上,4 =右。

at指示了勾號標記將被繪製的點。 labels要麼一個邏輯值,指定是(數值)的註釋將被使用或標籤的特徵向量被放置在刻度點。

在StackOverflow中詢問問題以指示爲了運行代碼而必須加載哪些軟件包也很有幫助。我包括我必須安裝回答這個問題:)

library(ncdf4) 
library(graphics) 
library(maps) 

設置labels所需特徵向量的庫。標籤矢量的長度應與at中指定的刻度線數量相匹配。我只會在你定義字符向量的地方做y軸,並將x軸註釋留給你。

filled.contour(lon, lat, dataz, zlim =c(-500:500), 
      plot.axes={axis(1); axis(2, at=seq(-40,20,20), labels=c("20°S", "40°S","EQ", "20°N")); map('world2', add=TRUE);grid()}) 

enter image description here

這裏是標籤取邏輯值的例子,我們設置不同的刻度標記:

filled.contour(lon, lat, dataz, zlim =c(-500:500), 
      plot.axes={axis(1); axis(2, at=seq(-40,20,10), labels=TRUE); map('world2', add=TRUE);grid()}) 

filled.contour(lon, lat, dataz, zlim =c(-500:500), 
      plot.axes={axis(1); axis(2, at=seq(-40,20,10), labels=FALSE); map('world2', add=TRUE);grid()}) 
+0

謝謝。它效果很好 –

相關問題