我正在尝试使用 R 中的传单包制作地图。我的目标是根据数据框中的因子变量为地图上的标记着色。我正在处理的数据框是这样的:
我的代码如下:
subset_dados$Circuito=as.factor(subset_dados$Circuito)
pal <- colorFactor("blues", subset_dados$Circuito)
leaflet(subset_dados) %>% addTiles() %>%
addCircleMarkers(~Longitude, ~Latitude, color=~pal(Circuito),fillOpacity = 0.5)
但是我得到的地图如下
我不明白我做错了什么,因为我希望每个因素都有不同的颜色,但似乎唯一改变的是黑色的透明度。
更新!我添加了部分数据框以使问题可重现。
Circuito Latitude Longitude
L2RC 41.36394 -8.550200
L21M 41.22638 -8.693360
LBXP 41.15796 -8.610030
L2RC 41.36394 -8.550200
LERM 41.23865 -8.531550
LCAN 41.14016 -8.634990
LARE 41.19195 -8.556460
LCAR 41.05805 -8.563920
LBXP 41.15786 -8.600700
LBAG 41.18931 -8.526040
您应该在
Blues
中设置 colorFactor
,以根据不同的 factors
为标记着色。您可以使用以下代码:
library(leaflet)
library(dplyr)
subset_dados$Circuito=as.factor(subset_dados$Circuito)
pal <- colorFactor("Blues", subset_dados$Circuito)
leaflet(subset_dados) %>% addTiles() %>%
addCircleMarkers(~Longitude,
~Latitude,
color=~pal(Circuito),
fillOpacity = 0.5)
输出:
如图所示,标记根据
factors
显示不同的颜色。