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函数可以实现这一点