如何使用rasterVis为栅格堆叠图的多图层重命名?
解决rasterVis levelplot图层重命名为月份缩写的问题
没问题,我来帮你搞定这个图层命名的问题!其实方法很简单,你只需要用正确的字符串向量或者R内置的月份缩写向量来指定names.attr参数就行,具体有两种实用方式:
方式1:使用R内置的月份缩写向量
R自带了一个month.abb向量,里面正好是Jan到Dec这12个标准月份缩写,直接用它省心又准确:
- 如果你的图层是完整的12个月份,直接写:
levelplot(data, par.settings=BuRdTheme(), names.attr=month.abb)
- 如果只有前3个月份(Jan、Feb、Mar),就截取前3个元素:
levelplot(data, par.settings=BuRdTheme(), names.attr=month.abb[1:3])
方式2:手动指定字符串向量
如果你想自定义缩写或者用其他格式,直接给names.attr传一个带引号的字符串向量就行,注意每个缩写都要加引号(单双引号都可以):
levelplot(data, par.settings=BuRdTheme(), names.attr=c("Jan", "Feb", "Mar"))
关键注意点
要确保你传入的向量长度和图层数量完全匹配,比如3个图层就传长度为3的向量,不然会出现命名不对应或者报错的情况。之前你用as.character(1:3)能生效,是因为这是合法的字符串向量;如果之前没成功改成月份缩写,大概率是没给缩写加引号(比如写了c(Jan, Feb, Mar),R会把这些当成变量而不是字符串)。
内容的提问来源于stack exchange,提问作者Dipu
相关产品推荐
相关产品推荐

