如何在d3中按布尔值对条形进行排序?

时间:2018-10-08 00:36:39

标签: javascript sorting d3.js graph

我有一个csv。 csv中的每一行都包含数据,其中包括布尔字段:is_firstis_secondis_third。 我正在使用数据(每个行对应一个条形图)创建条形图,并且我希望条形图根据布尔字段从左到右进行排序。我希望所有带有is_first == true的行一起显示在图的最左侧,我希望带有is_second == true的行一起显示在is_first组的右边,我希望将is_third == true行一起显示在is_second组的右侧(即,在图形的最右侧)。我该如何使用d3.sort()

1 个答案:

答案 0 :(得分:-1)

没有d3.sortArray.sort

function col2num(d) {
    if (d.is_first) return 1;
    if (d.is_second) return 2;
    return 3;
}

function sortByIs(a, b) {
   return col2num(a) - col2num(b);
}

var datasort = data.sort(sortByIs);