0

系列很好,但是xaxis是颠倒的,但是代码“reversed: true”是Yaxis正确顺序所必需的

总之,对于这个例子,我只需要反转 Xaxis:

$(function() {
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
    },
        xAxis: {
    type: 'datetime',
    reversed: true,
    labels: {
        formatter: function() {
            return Highcharts.dateFormat('%m/%d/%y', this.value, true);
        }
    },
    showLastLabel: true
},
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],

        pointInterval: 1 * 3600 * 1000,
        pointStart: (new Date()).getTime() - 1 * 24 * 3600 * 1000 

       }]
});

});

http://jsfiddle.net/raposu/K5tpe/4/

4

3 回答 3

0

你说你不想让它逆转,但你已经reversed: true设定了。但这是因为您希望数据以适当的顺序排列。但是您正在通过(new Date()).getTime() - 1 * 24 * 3600 * 1000. 但这是按升序排列的......但您正在设置reversed: true它是降序排列......但您希望它按升序排列。

因此,删除reversed: true并且您的数据按时间升序排列(这是一件好事)。由于您没有提供预期结果的示例,因此这是我能想到的最佳答案。

编辑:

如果您希望您的数据从 N 小时前开始按升序排列,则应首先对其进行设置,以便同时发送 x/y 值而不是点开始。我发现发送时间/值对总是更好。请参阅此更新示例

于 2013-05-30T02:21:00.253 回答
0

好的,但是如果您删除 reversed,那么也将反转 Yaxis。我需要示例中的数据。

是 24 小时前到现在的反转数据。如果你已经反转:false,时间数据是正确的,但数据是投入的,如果我反转:true,数据是正确的,但投入的时间。

是难以解释的绕口令,

谢谢

于 2013-05-30T07:54:23.940 回答
0

我终于找到了...... .reverse()

   series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4].reverse(),

        pointInterval: 1 * 3600 * 1000,
        pointStart: (new Date()).getTime() - 1 * 24 * 3600 * 1000 

       }]

http://jsfiddle.net/K5tpe/7/

谢谢

于 2013-06-21T21:31:55.037 回答