0

我有一些带有非常大数据集的图表,实际上如此之大,以至于当我尝试添加会在本地时区中以人类可读格式而不是 utc 纪元整数值播放时间的工具提示文本时,脚本只是时间出来,浏览器变得无响应。

理想情况下,我想保留大型数据集,因为它比能够以正常格式而不是纪元读取时间更重要。是否可以让谷歌图表触发回调函数以动态生成工具提示文本值,而不是在图表显示之前加载所有这些值?

如果有人想知道,我将 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

只使用谷歌“格式化程序”并将第一列从数字格式更改为日期格式并输入日期对象而不是纪元整数要快得多。

格式化代码如下:

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 回答