2017-12-28 52 views
0

특정 온라인 코스의 경우 Rmarkdown에서 리플 릿을 사용하여 빠른 대화 형 맵을 작성하고 Rpubs에 게시했습니다. 이 데이터는 세계 도시와 인구에 관한 것입니다.변수를 기반으로 리플렛에서 원 색상을 변경하는 방법은 무엇입니까?

도시의 인구 크기에 따라 색 그라디언트를 만들려고했습니다. 예를 들어, 도쿄의 경우 빨강을, 인구가 적은 도시의 경우 녹색을 입력합니다 (~ = 1-2).

--- 
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

어떤 도움을 생산 결국 것이다 아래는 내가 게시 된지도 here을 생성하는 데 사용되는 코드는 미래를위한 큰 도움이 되십시오. 감사합니다.

답변

1

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) 

에 코드를 변경

그것은 작동합니다. 그래도 미세 조정이 필요합니다. colorQuantile이 더 적합 할 수 있습니다.

enter image description here