【发布时间】:2016-10-18 03:56:30
【问题描述】:
我有一个使用 Leaflet 创建交互式地图的 R Shiny 应用程序。在这张地图上,分类变量用于指定不同类型的点,并使用自定义标记(不同的图标,取决于因子级别)进行可视化。
我想做的是在情节中添加一个图例,但让图例显示各种标记图标而不是纯色。 legends tutorial 不包含此内容。
我遇到了另一个 SO answer that seems to solve this - 但它是用 JavaScript 完成的,我不知道如何翻译它/是否可以翻译成在 R 中工作。有人知道如何完成这个吗?
一个基本的可重现示例:
library(leaflet)
# Sample Data
data(quakes)
quakes <- quakes[1:10,]
# Choose Icon:
leafIcons <- icons(
iconUrl = ifelse(quakes$mag < 4.6,
"http://leafletjs.com/docs/images/leaf-green.png",
"http://leafletjs.com/docs/images/leaf-red.png"
),
iconWidth = 38, iconHeight = 95,
iconAnchorX = 22, iconAnchorY = 94)
# Produce Map:
leaflet(data = quakes) %>% addTiles() %>%
addMarkers(~long, ~lat, icon = leafIcons)
【问题讨论】:
-
如果可行,最简单的方法可能就是获取 JavaScript 源代码。