如何按天显示点数而不是时间?

时间:2014-01-13 22:19:11

标签: highcharts highstock

我正在尝试使用Highstock并遇到问题。当我在图表上有多个系列时,我希望同一天的积分匹配,但目前他们没有,因为Highstock会考虑时间。

以下是一个示例图表:

        $('#chart').highcharts('StockChart', {
            plotOptions: {
                series: {
                    animation: {
                        duration: 0
                    }
                }
            },
            yAxis: {
                labels: {
                    align: 'right',
                    x: -4,
                    formatter: function() {
                        return '$' + Math.round(this.value);
                    },
                },
                tickPixelInterval: 40
            },
            series : [
            {
              "name": "Series 1",
              "data": [
                [
                  1389486123000,
                  200
                ],
                [
                  1389578849000,
                  200
                ]
              ],
              "tooltip": {
                "valueDecimals": 2,
                "valuePrefix": "$"
              }
            },
            {
              "name": "Series 2",
              "data": [
                [
                  1389486240000,
                  100
                ],
                [
                  1389578849000,
                  100
                ]
              ],
              "tooltip": {
                "valueDecimals": 2,
                "valuePrefix": "$"
              }
            }
            ]
        });

JSFiddle:http://jsfiddle.net/EdvVW/

正如你在JSFiddle中看到的那样,后两点匹配(当你将鼠标悬停在它们上面时,它们都显示在工具提示中,这就是我想要的),但即使前两点也是如此是因为他们的时间戳不同而从同一天起他们不匹配。

有没有办法降低渲染点的准确性,以便同一天的数据点无论何时都匹配?

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。您需要使用相同的时间戳来匹配点。

您可以预处理数据:遍历所有点,从时间戳创建日期,然后使用Date.UTC(year, month, day);作为点的x值。