为谷歌图表Api编写一个自定义格式化程序
Write a custom formatter for Google Charts Api
我想创建一个图表来显示我在10公里跑步中的时间。一切都正常工作,我唯一的问题是,我想格式化时间的显示方式。
当前时间显示为表示秒数的数字。例如,30分钟的跑步时间减少到10800秒。谷歌提供的格式化程序确实涵盖了很多内容,但我对它们提供的内容并不满意。
http://code.google.com/apis/chart/interactive/docs/reference.html#formatters
遗憾的是,没有关于如何实现自己的格式化程序的信息。我是否有机会扩展格式化程序,或者是否有需要实现的接口?
我要做的第一件事是将数字10800解析为一个不错的时间,比如30:00.00(30分0秒0毫秒(。也许这在模式格式化程序中已经是可能的,但我不知道如何实现,因为这涉及到计算,也不知道如何在模式格式化器中实现。
谢谢你的帮助。Johnny
使用带有自定义模式的DateFormat。例如:
google.visualization.DateFormat({pattern: "mm:ss.SSS"});
需要注意的是,这显示了JS Date对象的一天中的时间,因此您需要将运行时间提供为JS日期。因此,指定一天中对数据进行采样的实际时间。或者,如果你只想显示自跑步开始以来的相对时间,你可以这样做:
new Date(new Date('Jan 01 2000').getTime() + sampleTime)
其中sampleTime是每个采样点的时间(以毫秒为单位(。(这只是将时间设置为自2000年1月1日午夜起的毫秒,因此小时/分钟/秒将反映您的运行时间(
遇到了一个类似的问题,即地理图的总秒数为hh:mm:ss。无法做到这一点,但我能够将其发送到mm:ss,这是可以接受的
我将总秒数转换为十进制的mm.ss。例如,200秒是3:20,所以我将其标记为3.20,并将值传递给图表,然后在地理图上,我使用了一个数字格式化程序:作为十进制格式化程序
var formatter = new google.visualization.NumberFormat({
decimalSymbol: ':'
});
默认的小数位数为2,因此显示为3:20。
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- SuiteScript2.0-包括一个自定义文件
- Wordpress在播放器旁边播放一个自定义的下载按钮,而不是下载
- SuiteScript:如何有一个自定义的数据字段来从数据库加载信息
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- 调用另一个自定义指令的角度自定义指令
- 我想做一个自定义的dojo JsonRest商店,有一部分我没有'我不明白
- 如何调用另一个js文件中的函数或触发一个自定义事件,该事件将参数作为Jquery中的数据对象传递
- 我想知道如何创建一个自定义对话框,当点击按钮时会弹出
- 在brunc.io中创建一个自定义JS目录
- 如何使用Angular 1.5组件将属性求值为字符串,这是一个自定义函数
- 为谷歌工作表创建一个自定义函数
- Vaadin:调用一个自定义的JavaScript函数
- Tinymce-创建一个自定义的javascript保存按钮
- Wordpress创建一个自定义休息服务
- 如何在Angular 1.3.6上创建一个自定义过滤器来搜索嵌套数组
- 当我点击一个asp表元素时,我如何制作一个自定义弹出窗口
- 我对javascript中的一个自定义函数感到困惑,该函数将对象作为参数获取
- 为什么我们必须注册一个自定义元素
- 导入 serval WebComponent 时,上一个自定义元素被下一个元素覆盖