1

我有下一个代码:

list_data <- list.files(pattern="*NDVI",full.names=T)

使用以下方法堆叠我的数据:

data <- stack(list_data)

层的名称是:

> names(data) 
 [1] "Max_NDVI_2000" "Max_NDVI_2001" "Max_NDVI_2002"
 [4] "Max_NDVI_2003" "Max_NDVI_2004" "Max_NDVI_2005"
 [7] "Max_NDVI_2006" "Max_NDVI_2007" "Max_NDVI_2008"
[10] "Max_NDVI_2009" "Max_NDVI_2010" "Max_NDVI_2011"

然后,我需要更改图层名称:2000、2001、......、2011、,我正在使用

names(data) <- 2000:2011

但我得到 X2000,X2001 ...

> names(data)
 [1] "X2000" "X2001" "X2002"
 [4] "X2003" "X2004" "X2005"
 [7] "X2006" "X2007" "X2008"
[10] "X2009" "X2010" "X2011"

但是,如果我使用字符,则输出是正确的:

> names(data) <- month.abb 
> names(data)
 [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug"
 [9] "Sep" "Oct" "Nov" "Dec"

那么month.abb的类如何是字符,然后我改变

names(data) <- as.character(2000:2011)

但输出不会改变。

**那么,如何更改图层的名称?**。

PD:我需要更改名称以使用rasterVis包(levelplot 函数)绘制我的数据

4

1 回答 1

3

要更改绘图中图层的名称,您可以使用names.attr

levelplot(data,par.settings=BuRdTheme(),names.attr=c(as.character(2000:2011)))
于 2016-07-01T10:11:04.987 回答