2017-12-28 30 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

関連する問題