2014-02-13 3 views
0

나는 Quantile 척도를 사용하여 총 인구수를 보여주는 미국주의 choropleth 맵을 보유하고 있습니다. 또한 사용자가 colorbrewer 정의 색 구성표를 사용하여 원하는 색 구성표를 선택할 수있는 드롭 다운 메뉴를 설정했습니다. 선택시 맵은 새로운 색 구성표로 채워집니다.D3.js Choropleth지도 - 선택시 색 구성표 변경

색 구성표 선택에 문제가 있습니다. 채우기는 모집단 값을 기반으로하는 색 범위가 아닌 색 구성표에서 단 하나의 색으로 채워집니다. 문제는 내가 실제로 데이터 속성에 액세스하지 않는다는 것입니다. "경로"의 값.이 작업을 수행하기 위해 내가해야 할 일이 무엇인지 알 수 없습니다. 제안 사항은 만족 스럽습니다. 다음은 색상 변경 기능입니다.

$('#ColorSelection').change(function(){ 
    newColor = $('#ColorSelection').val(); 

    var colorSchemeSelect = newColor; 
    var colorScheme = colorbrewer[colorSchemeSelect]; 

    var color = d3.scale.quantile() 
    .range(colorScheme[5]); 

    d3.selectAll("path").style("fill", function (d) { 
     var value = d.properties.value; 
     if (value) { 
     return color(value); 
     } else { 
     return "#ccc” 
     } 
    }) 

}); 

답변

2

문제는 당신이 그냥 범위의 업데이트되지, 기존 컬러 스케일을 교체하고, 새 규모의 도메인을 설정하지 것입니다.

var color = d3.scale.quantile() //create new quantile scale 
    .range(colorScheme[5]); //set it's range 

당신이 당신의 규모가 저장 한 경우 color 변수에서 이벤트 처리기에서 수정하십시오.

color.range(colorScheme[5]); //change the range 
+0

감사합니다 !!! 그것이 바로 정확한 해결책이었습니다. – bailey