Javascript 如何使用D3.js对地图(层次结构)进行排序
目前我正在学习如何通过D3.js和D3的层次结构来处理数据,但我还不能对地图结构的地图进行排序 给定以下数据集Javascript 如何使用D3.js对地图(层次结构)进行排序,javascript,sorting,d3.js,Javascript,Sorting,D3.js,目前我正在学习如何通过D3.js和D3的层次结构来处理数据,但我还不能对地图结构的地图进行排序 给定以下数据集 continent,country,city,population Americas,US,Los Angeles,232324 Americas,US,New-York,120303 Asia,INDIA,Delhi,4533003 Asia,CHINA,Beijing,30234 Europe,FRANCE,Paris,1002000 Europe,GERMANY,Berlin,3
continent,country,city,population
Americas,US,Los Angeles,232324
Americas,US,New-York,120303
Asia,INDIA,Delhi,4533003
Asia,CHINA,Beijing,30234
Europe,FRANCE,Paris,1002000
Europe,GERMANY,Berlin,394223
我在前三个选项卡上生成地图地图,按(1)大陆(降序)应用层次结构和顺序
d3hierarchy如下所示,子项按发送顺序排序:
我正在尝试对层次结构进行排序:
d3hierarchy.sort(function (a, b)
{
if (a.height == 3 && b.height == 3) {
return d3.ascending(a.data[0], b.data[0])
}
if (a.height == 2 && b.height == 2) {
return d3.descending(a.data[0], b.data[0])
}
if (a.height == 1 && b.height == 1) {
return d3.ascending(a.data[0], b.data[0])
}
// getting to the leaf
if (a.height == 0 && b.height == 0) {
return d3.descending(a.data.Population, b.data.Population)
}
});
d3hierarchy.sort(function (a, b)
{
if (a.height == 3 && b.height == 3) {
return d3.ascending(a.data[0], b.data[0])
}
if (a.height == 2 && b.height == 2) {
return d3.descending(a.data[0], b.data[0])
}
if (a.height == 1 && b.height == 1) {
return d3.ascending(a.data[0], b.data[0])
}
// getting to the leaf
if (a.height == 0 && b.height == 0) {
return d3.descending(a.data.Population, b.data.Population)
}
});