如何根据变量更改传单中的圆形颜色?

时间:2017-12-28 05:34:02

标签: javascript r leaflet r-markdown

对于某个在线课程,我使用Rmarkdown中的传单制作了一个快速交互式地图,并将其发布到Rpubs。数据是关于世界城市及其人口的。

我试图根据城市的人口规模制作颜色渐变。例如东京的红色和人口较少的城市的绿色(〜= 1-2)。以下是我用于生成已发布地图的代码here

---
title: "Global population concentration"
author: "Piyush Verma"
date: "December 28, 2017"
output: html_document
---


```{r setup, echo=FALSE}
knitr::opts_chunk$set(fig.width=12, fig.height=8)
```


```{r, message=FALSE,warning=FALSE,results='hide', echo=FALSE}
set.seed(2017-12-27)
library("data.table")
cities<-fread("./worldcities.csv")
cities<-cities[cities$pop>0,]
```

```{r, message=FALSE,warning=FALSE, echo=FALSE, width = 40, height = 30}
library("leaflet")
pal <- colorNumeric(palette = "Red",domain = cities$pop)
cities2<-cbind(cities,col=pal(cities$pop))

my_map <- cities2 %>% leaflet() %>% addTiles() %>% addCircles(weight = 1, radius = sqrt(cities$pop) * 110) %>% setView(lat = 51.4826, lng = 0.0077, zoom = 2) 
my_map
```

我从here下载了数据:

我尝试使用here的帮助,但最终产生错误Error in polygonData/default(data): Dont know how to get path data from object of class numeric

任何帮助都将对未来有很大帮助。 谢谢。

1 个答案:

答案 0 :(得分:3)

将您的代码更改为


import sys
for i in sys.path:
    print i

它有效。虽然需要一些微调。 pal <- colorNumeric(palette = c("green", "red"), domain = cities$pop) my_map <- cities2 %>% leaflet() %>% addTiles() %>% addCircles(weight = 1, radius = sqrt(cities$pop) * 110, color = ~pal(cities$pop)) %>% setView(lat = 51.4826, lng = 0.0077, zoom = 2) 可能更适合。

enter image description here