R传单地图的传说

时间:2015-04-16 19:53:31

标签: r leaflet

虽然我意识到使用Rstudio leaflet package将传说放在地图上仍然是一项正在进行的工作,但我一直在尝试将一个传奇 post-hoc 添加到R的HTML中产生

library("leaflet")
set.seed(100)
pdf <- data.frame(Latitude = runif(100, -90,90), Longitude = runif(100, -180,180), 
                  col=rep(c("red", "blue"), 50 ))

#just red
leaflet(pdf) %>% addTiles()  %>%
  addCircleMarkers(lat = ~ Latitude, lng = ~ Longitude, color= ~col)

我一直在尝试调整http://leafletjs.com/examples/choropleth.html中的代码,并在R中运行上面的代码并将其转换为HTML,从而找出将其添加到输出的位置。

所以就像将以下内容放在html的主体中一样:

<script>
var legend = L.control({position: 'bottomright'});

legend.onAdd = function (map) {

    var div = L.DomUtil.create('div', 'info legend'),
        grades = [red, blue],
        labels = [];

    // loop through our density intervals and generate a label with a colored square for each label
    for (var i = 0; i < grades.length; i++) {
        div.innerHTML +=
            '<i style="background:' + getColor(grades[i] + 1) + '"></i> ' +
            grades[i] + (grades[i + 1] ? '&ndash;' + grades[i + 1] + '<br>' : '+');
    }

    return div;
};

legend.addTo(map);
<script>
但是,这似乎不起作用。什么都没弹出来。我也不清楚如何使用“红色”和“蓝色”以外的名字来表示等级。我也添加了CSS,如同在等轴测例中所示,但没有骰子。

有没有人这样做过 - 手动为他们的R输出添加了一个图例(比如,在发布后从Rpubs中获取源代码)来添加图例?

1 个答案:

答案 0 :(得分:0)

虽然这不是我想要的,但似乎addLegend函数正在进行中,并且位于包的一个分支中。请参阅一些文档和示例:

http://smartinsightsfromdata.github.io//2015/04/25/choropleths.html