【问题标题】:Sort the series data for every X-Axis in Highcharts对 Highcharts 中每个 X 轴的系列数据进行排序
【发布时间】:2016-01-02 11:26:19
【问题描述】:

我需要对每个系列的系列数据从大到小进行排序。

Sample fiddle

    series: [{
        name: 'John',
        data: [{
            y: 1}, {y: 2}, {y: 3}, {y: 4}, {y: 5
        }]
    }, {
        name: 'Jane',
        data: [{
            y: 5}, {y: 4}, {y: 3}, {y: 2}, {y: 1
        }]
    }, {
        name: 'Joe',
        data: [{
            y: 5}, {y: 2}, {y: 3}, {y: 4}, {y: 1
        }]
    }]

【问题讨论】:

    标签: javascript java charts highcharts


    【解决方案1】:

    您可以使用sort function。可以这样应用:

    series.forEach(function(name){
      name.data.sort(function (a,b) {
        if(a.y < b.y) {
          return 1;
        } else if (a.y > b.y) {
          return -1;
        }
        return 0;
      });
    });
    

    为了使代码更易于理解,您可以创建一个series 变量,然后在调用highcharts 函数之前对其进行排序。这被证明here

    【讨论】:

    • 试过这个,但它不起作用。请参考小提琴jsfiddle.net/1uu7edpw/5。不要如何引用系列
    • 这会对整个系列进行排序,从而导致错误地将值分配给类别。例如Apple 类别的 'Jane' 和 'Joe' 的值是 5 和 5。但排序后将其分配为值 0。
    • 我的期望是,在 jsfiddle.net/1uu7edpw/2 中,香蕉类别应显示为 {John:5, Joe:1, Jane: 1},而不是当前格式 {Joe:1, Jane:1,约翰:5}。
    • 这并不真正符合您原始问题的描述。您宁愿对显示在每个栏中的数据进行排序。我查看了 Highcharts API,发现没有简单的解决方案可以解决您的问题。我认为您应该创建另一个问题来解释您实际想要实现的目标。
    • 好的。感谢回复
    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2022-08-18
    • 2013-08-29
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多