2014-01-13 47 views
0

我正在尝试使用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看到,第二两个点匹配(当你将鼠标悬停他们,他们都显示在工具提示中,这是我想要的),但即使前两个点来自同一天,他们不匹配,因为他们的时间戳是不同的。

有什么办法可以降低渲染点的精确度,使得同一天的数据点不管时间如何匹配?

回答

2

不,这是不可能的。你需要有相同的时间戳来匹配点。

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

+0

太糟糕了!图表是如此定制我认为必须有一种方法来做到这一点..噢,谢谢你让我知道。 – Nate

相关问题