Javascript d3初学者,制作美国郡地图

Javascript d3初学者,制作美国郡地图,javascript,d3.js,Javascript,D3.js,所以我被分配了一个任务,在那里我需要处理美国地图,分为州和县。我已经有了当前的代码,需要对其进行扩展 我无法理解以下代码片段 var colorRange = [ 'rgb(247,251,255)', 'rgb(222,235,247)', 'rgb(198,219,239)',

所以我被分配了一个任务,在那里我需要处理美国地图,分为州和县。我已经有了当前的代码,需要对其进行扩展

我无法理解以下代码片段

var colorRange = [        'rgb(247,251,255)',
                                    'rgb(222,235,247)',
                                    'rgb(198,219,239)',
                                    'rgb(158,202,225)',
                                    'rgb(107,174,214)',
                                    'rgb(66,146,198)',
                                    'rgb(33,113,181)',
                                    'rgb(8,81,156)',
                                    'rgb(8,48,107)'];

var quantile = d3.scale.quantile()
            .range(colorRange);

var path = d3.geo.path();

var svg = d3.select("#map")
            .attr("width", width)
            .attr("height", height)  
    .append('svg:g')
        .call(d3.behavior.zoom().on("zoom", redraw))
      .append('svg:g');

svg.attr("transform", "scale( " + .9 + ")");

function redraw() {
  console.log("here", d3.event.translate, d3.event.scale);
  svg.attr("transform",
      "translate(" + d3.event.translate + ")"
      + " scale(" + d3.event.scale + ")");
}
这段代码的每一行到底发生了什么

完整代码取自


多亏了,
var colorRange
只是一个变量,它保存了要应用到各个县的颜色,
var分位数
设置了要应用的颜色的比例,
var path
调用路径函数,
var svg
创建了一个svg。在这种情况下,命令
.call
有一个功能
.on(“缩放”
),它调用函数
重绘

function redraw
定义了一个函数,该函数根据缩放来转换和缩放svg

缩放基本上是通过鼠标右键进行的?svg本身不应该在缩放时正常工作吗?真的需要函数redraw吗?还有,不同的颜色是如何应用于不同的县的?感谢代码片段中的没有指定颜色应用程序,它应该在每个县的路径生成中指定。关于重画,我可能是错的,但是这个函数不仅应该放大,而且应该在svgHi中重画地图的部分,我已经添加了我从中获得代码的链接。我想知道,每个县的确切颜色指定在哪里。B基本上,更重要的是,我感兴趣的是在每个县显示一组点,这取决于我在我的数据库中的数据,比如说外部csv。我不知道我应该在哪里注入这些信息。在代码末尾,函数updateMap(key)负责在.attr(“fill”)上更改县的颜色第二行有一个if函数可以实现这一点