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 に答える