簡體   English   中英

如何按積極響應的總和對 Highcharts 中的堆積條形圖進行排序?

[英]How can I sort the stacked bar charts in Highcharts by the sum of positive response?

有人可以看看我的條形圖,讓我知道如何按總積極響應率(高於 0% 的前兩個綠色類別的總和)對堆棧進行排序?

https://jsfiddle.net/samwhite/tqLya8h1/1/

    let selection = departments.forEach((dat, d) => {
      data[dat]["104"].forEach((val, i) => {
        if (i<2) {
          options[i].data.push(val);
        } else {
          options[i].data.push(-val);
        }
      })
    });
    
    let chart = Highcharts.chart('container', {
      chart: {
        type: 'column',
      },
      series: options
    });

您可以按升序對部門進行排序,然后按結果創建新數據。

departments.sort((a, b) => {
    return ((data[a]["104"][0] + data[a]["104"][1]) - (data[b]["104"][0] + data[b]["104"][1]))
})

演示: https://jsfiddle.net/BlackLabel/cdun0mx3/

對任何數組進行排序,您可以使用此 function sort

 function sort(arr, dir) { for (var i = 0; i < arr.length-1; i++) { for (var j = 0; j < arr.length-i-1; j++) { if ((arr[j+1] > arr[j] && dir == "desc") || (arr[j+1] < arr[j] && dir == "asc")) { var tmp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = tmp; } } } } var testArr = [6, 34, 22, 12, 3, 3, 4]; sort(testArr, "asc"); console.log(testArr); sort(testArr, "desc"); console.log(testArr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM