无法使用addLegend(labels)在R的传单中添加分类图例

问题描述 投票:2回答:1

此问题的所有文件都在following git中:

我正在尝试在带有类别的传单中绘制类别地图图例显示字符向量作为标签:

加载软件包

首先我加载所需的软件包

library(rgdal)
library(raster)
library(kableExtra)
library(rasterVis)
library(leaflet)

然后我加载所需的数据集

Codes <- readRDS("Codes.rds")
LandCover <- readRDS("LandCover.rds")

如果我们查看土地覆盖物栅格,那是我所分类的栅格用光栅包中的ratify制成

LandCover

## class      : RasterLayer 
## dimensions : 832, 680, 565760  (nrow, ncol, ncell)
## resolution : 30.00002, 29.99993  (x, y)
## extent     : 288800.8, 309200.8, 6367272, 6392231  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : memory
## names      : LC_CHILE_2014_b 
## values     : 150, 932  (min, max)
## attributes :
##         ID          names IDs
##  from: 150       Cultivos 150
##   to : 932 Suelos rocosos 932

我想将name属性作为图例

它可以使用rasterVis软件包中的levelplot功能:

rasterVis::levelplot(LandCover)

如果有效,数据也会重新放入Codes data.frame中。>

kable(Codes, caption = "Tabla de atributos del mapa") %>%
  kable_styling(bootstrap_options = c("striped", "hover"))
塔布拉地图码已选150文化212Nativo de Hoja Ancha251波斯尼亚植物学330糊状450马托拉莱斯510悍马士640库瓜德阿瓜800地表渗透物920elo鱼932墨西哥鳄

[两项测试无效

测试1
pal <- colorFactor(rainbow(10), values(LandCover),
                    na.color = "transparent")

leaflet() %>% addTiles()  %>%  addRasterImage(LandCover, colors = pal, opacity = 0.8) %>%  addLegend(pal = pal, values = values(LandCover),title = "Land Cover", labels = Codes$Selected)

enter image description here

测试2

在第二篇文章中,我认为将标签属性添加到addLegend函数可以解决问题,但不起作用

pal <- colorFactor(rainbow(10), values(LandCover),
                    na.color = "transparent")

leaflet() %>% addTiles()  %>%  addRasterImage(LandCover, colors = pal, opacity = 0.8) %>%  addLegend(pal = pal, values = values(LandCover),title = "Land Cover", labels = Codes$Selected)

enter image description here

此问题的所有文件都在下面的git中:我正在尝试在传单中绘制类别映射,并使用类别图例将字符向量显示为标签:首先加载软件包I ...

r leaflet r-raster
1个回答
0
投票
您可以通过利用labFormataddLegend参数来实现。诀窍是在transform中使用labFormat函数将RAT的ID重新映射到相应的标签。
© www.soinside.com 2019 - 2024. All rights reserved.