我是d3的新手,我想用d3数据图制作一个等值线图,所以如果必须将路径类与我的数据集进行比较。到目前为止,我确实设法获得路径
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js"></script>
<script src="/d3map/datamaps.world.min.js"></script>
<div id="container" style="position: relative; width: 500px; height: 300px;"></div>
<script src="d3map.js"></script>
js code
var map = new Datamap({element: document.getElementById('container'),
})
var country = d3.selectAll("path")
Country是一个包含177个元素的数组 国家中的一个元素具有以下形式:
<path d="bunch of numbers" class="datamaps-subunit AFG" style="etc"></path>
我想查看班级中的国家/地区代码(例如AFG)是否与我的数据集中的国家/地区代码相匹配。
Country.class提供未定义的
我可能遗漏了一些非常明显的东西
答案 0 :(得分:0)
以下是一个示例小提琴:https://jsfiddle.net/g2v5sgmz/
您可以使用filter
方法过滤数组中的特定分类元素,如下所示:
var country = d3.selectAll("path");
var afg = country.filter(function(d,i){
if( d3.select(this).classed("AFG") ){
return d3.select(this);
}
})