6

我正在使用 Highcharts/Highstock 绘制大量数据(约 10,000 点)。数据由 X 轴上的 Date 对象和 Y 轴上的浮点数组成,格式如下:[[(date), 1.728], [(date), 0.346], ...]. 日期总是相隔 1 小时,并且数据中没有间隔。

当图表的范围 >= 21 天(这样至少绘制了 21 天的数据)时,图表会正确显示。但是,只要范围小于该范围,图表就会变为空白,并且工具提示将每个点显示为 Y 值为 0.0。这些点的 Y 值确实存在于数组中(我可以在 Firebug 中看到它们),但它们不会显示在图表上。这是我初始化它的方式:

mainChart = new Highcharts.StockChart({
  chart: {
    renderTo: 'linegraph'
  },

  rangeSelector: {
    buttons: [{
      type: 'day',
      count: 1,
      text: '1 d'
    }, {
      type: 'week',
      count: 1,
      text: '1 wk'
    }, {
      type: 'month',
      count: 1,
      text: '1 mo'
    }, {
      type: 'year',
      count: 1,
      text: '1 yr'
    }, {
      type: 'all',
      text: 'All'
    }],
    selected: 2
  },

  series: [{
    name: 'Electricity usage (kWh)',
    data: graphData,
    tooltip: {
      valueDecimals: 2,
      valueSuffix: "kWh"
    }
  }],
});
4

2 回答 2

3

我有同样的问题,但在 X 轴上有时间戳,一切正常。

通过按升序对数据进行排序来解决它(首先以相反的顺序提供)。

于 2013-01-03T18:26:58.647 回答
2

事实证明,您不能在数据的 X 轴上使用日期。相反,请使用日期的 Unix 时间戳:Date.getTime(). FloppyDisk 的主要道具为我指明了正确的方向。

于 2012-06-29T19:16:22.900 回答