繁体   English   中英

D3.js Choropleth Map - 改变选择颜色方案

[英]D3.js Choropleth Map - Change Color Scheme On Selection

我有美国各州的等值区域地图,显示使用分位数量表的总人口。 我还设置了一个下拉菜单,允许用户使用colorbrewer定义的颜色方案选择他们选择的颜色方案。 在选择时,地图将填充新的配色方案。

我的问题在于颜色方案的选择,形状只用颜色方案中的一种颜色填充,而不是基于种群值的一系列颜色。 我知道问题是我实际上并没有在“路径”中访问数据properties.value。我只是不知道我需要做些什么来实现这一点。任何建议都值得赞赏。这是我的颜色更改功能:

$('#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”
      } 
   })

 });

问题是您正在替换旧的色标,而不仅仅是更新它的范围,而且您从未在新的比例上设置域。

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

如果您将比例存储为可变color ,只需在事件处理程序中修改它:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM