0

非常に大きなデータセットを含むグラフがいくつかあります。実際、UTCエポック整数値ではなく、ローカルタイムゾーンで人間が読める形式で時間を再生するツールチップテキストを追加しようとすると、スクリプトはアウトすると、ブラウザが応答しなくなります。

理想的には、エポックではなく通常の形式で時刻を読み取ることができるよりも重要であるため、大きなデータセットを保持したいと思います。チャートが表示される前にすべてをロードするのではなく、Googleチャートにコールバック関数を起動してツールチップテキスト値をその場で生成させることは可能ですか?

誰かが知りたい場合は、UTCエポックをツールチップテキストに変換するための私のコードは次のとおりです。

var utcSeconds = value;
var dateObj = new Date(0);
dateObj.setUTCSeconds(utcSeconds);

// dateObj is now a date in the users local time zone
var readableTimestamp = " " + dateObj.getHours() + ":" + 
                        dateObj.getMinutes() + ":" + 
                        dateObj.getSeconds() + " " +
                        dateObj.getDate() + " " + 
                        dateObj.getMonth() + " " +
                        dateObj.getFullYear(); 

ヒント/提案をいただければ幸いです。

4

1 に答える 1

0

代わりにGoogleの「フォーマッタ」を使用し、最初の列を数値形式から日付形式に変更し、エポック整数の代わりに日付オブジェクトを入力する方がはるかに高速でした.

フォーマットのコードは次のとおりです。

value = Number(value);
var utcEpoch = index;
index = new Date(0);
index.setUTCSeconds(utcEpoch);
googleTable.addRows([[index, value]]); 

...
...

var formatter = new google.visualization.DateFormat({pattern: "dd MMMM yyyy HH:MM:ss"});
// Reformat our data.
formatter.format(googleTable, 0);

ただし、コールバックを実行できるかどうかを知りたいです。

于 2012-11-22T15:11:09.007 に答える