2017-05-18 9 views
0

highchartsを使用していて、カスタムツールチップを使用しようとしています。ハイチャートの線グラフでデータが読み込まれない

ここは私の仕事sample codeです。

グラフ上でマウスを動かすと、ツールチップが表示されます。

しかし、この同じグラフは、データが大量である場合には機能しません。 data of around 2 days

jsonのデータをこのように変更すると、

[1494700238000、180]、[1494700537000、180] ...

それが適切にグラフをロードする未満です。

しかし、クライアントが必要とするツールチップは使用できません。

+0

series.turboThresholdを0に設定するhttp://jsfiddle.net/oobk15bd/5/ http://api.highcharts.com/highcharts/plotOptions.area.turboThreshold – morganfree

答えて

0

問題を正しく理解している場合は、highcharts error number 12が発生しています。 Highchartsライブラリは、デフォルトで1000に等しいしきい値を使用してシリーズデータを処理します。このしきい値は、データを構成オブジェクトの配列として設定した場合にのみトリガーされます。そのため、グラフには数値のリストがロードされますが、オブジェクトのリストではロードされません。その理由は明らかです。そのような膨大な量のオブジェクトを、さまざまなパラメータで処理するには多くの時間がかかります。ここで私は3つの方法を見ることができます:

a)の最も明白な1 - このしきい値ポリシーを無効にし、あなたはそれhereを見ることができます:

plotOptions: { 
    series: { 
    pointStart: Date.UTC(2017, 4, 15), 
    turboThreshold: 0 
    } 
} 

この溶液をhighcharts apiに基づいて、かつ非常にシンプルです。しかし、これはクライアントに無制限の量のデータをロードすることにつながり、ブラウザのメモリリークを招く可能性があります。

b)2番目の解決策は、デフォルトでクライアントに適切なデータ量をロードして(1000ポイントとします)、ズーム後にさらに詳細な情報をロードするzoomデータにユーザーを誘導することです。それは最も複雑ですが、最も柔軟な方法です。

c)3番目の方法は、データに基づいてしきい値を設定することです(たとえば、10000)。これはクライアントの遅さからあなたを守りますが、それほど難しくありませんが、非常に柔軟ではありません。ポイントの量が増えるたびにこの定数を変更する必要があります。

関連する問題