2017-12-15 1 views
2

여기 내 데이터입니다 :전단지의 연속적인 데이터를 색칠, R이 작동하지 않습니다

내가지도에이 점을 끌기 위해 전단지와 R을 사용하고, 연속에 대한 DIFF/Diff1의 값을 사용하려는
t <- data.frame(Name=c('A','B','C','D','E','F','G','H','I','J'), 
       Longitude=c(151.2008,151.2458,150.8217,151.1215,150.8906,151.0660,150.8889,150.9188,150.4364,150.9982), 
       Latitude=c(-33.90772,-33.89250,-34.05951,-33.97856,-34.40470,-33.90010,-33.92832,-33.90761,-34.44651,-33.79232), 
       Diff=c(0.03,0.10,0.12,0.04,-0.12,0.34,-0.14,-0.01,0.21,-0.02), 
       Diff1=c(30,100,120,40,-120,340,-140,-10,210,-20)) 

색깔. 여기 내 코드는 다음과 같습니다.

library(leaflet) 
pal <- colorNumeric(
    palette = colorRampPalette(c('red','green')), 
    domain = t$Diff1) 
leaflet(data=t) %>% 
    addTiles() %>% 
    addCircles(lng=~Longitude,lat=~Latitude,radius=10,popup=~Name,color=~pal(Diff1)) 

여기에 다른 색상이 많이 필요하지 않습니다. Diff1의 증가에 따라 색상이 빨간색에서 녹색으로 바뀔 수 있기를 바랍니다. 그러나 나는 단지 내지도에 빨간색 포인트가 :

enter image description here

또 다른 문제는 아무리 반경의 값을 변경하는 방법입니다, 데이터 포인트의 크기는 전혀 변경되지 않습니다. 내가 어디가 잘못 됐는지 나는 모른다.

그래서, 내 질문은 :

어떻게 coutinuous 색상을 사용할 수 있나요? 포인트의 크기를 변경하는 방법은 무엇입니까?

library(leaflet) 
pal <- colorNumeric(
    palette = colorRampPalette(c('red', 'green'))(length(t$Diff1)), 
    domain = t$Diff1) 

leaflet(data = t) %>% 
    addTiles() %>% 
    addCircleMarkers(
    lng = ~ Longitude, 
    lat = ~ Latitude, 
    radius = ~ Diff * 100, 
    popup = ~ Name, 
    color = ~ pal(Diff1) 
) 

당신이 "균열"당신이 그것을 사용하려고 할 때 ()과 기능을 열 필요가 있으므로 colorRampPalette 실제로 같은 함수를 반환 기억

+0

질문에 앱의 전체 코드를 붙여주세요. – jsb

+0

안녕하세요, 저는 여기에서 사용한 모든 코드를 넣었습니다. 지금 오타가 있습니다. 이미 고쳤습니다. 감사합니다 –

답변

2

이합니다 (dataframe 아래 t을 exluding) 시도 그래서 :

colorRampPalette(c('red', 'green'))(length(t$Diff1)) 
# "#FF0000" "#E21C00" "#C63800" "#AA5500" "#8D7100" "#718D00" "#55AA00" "#38C600" "#1CE200" "#00FF00" 

는 ("빨간색"및 "녹색"이어야 함) 시작과 끝 색상을 확인합니다

col2rgb("#FF0000") 
#  [,1] 
# red 255 
# green 0 
# blue  0 

col2rgb("#00FF00") 
#  [,1] 
# red  0 
# green 255 
# blue  0 

예, 예상대로 작동하지 않았습니다.

+0

그래! 그것은 효과가있다! 데이터 포인트의 크기를 변경하는 방법을 알려주시겠습니까? 감사합니다 –

+0

그냥 고쳐! :-) – jsb

관련 문제