【问题标题】:Format a time as hours:minutes on a Google Charts y-axis将时间格式化为 Google 图表 y 轴上的小时:分钟
【发布时间】:2013-11-15 21:02:39
【问题描述】:

我有一个谷歌图表,其中 y 轴以分钟为单位。

如何设置 y 轴的格式,以便标签以 2hrs402:40 或类似格式显示时间?我不想以原始分钟数显示时间,也不想将它显示为像“1.5”这样的小数,持续 90 分钟。

documentation 告诉我使用ICU Pattern Set,但我无法从该页面中弄清楚。

这可能吗?如果我不能像这样直接格式化时间,有没有办法通过使用 Javascript 更改 <svg> 元素来“破解”图表?

【问题讨论】:

    标签: javascript charts google-visualization


    【解决方案1】:

    格式选项不允许您这样做。但是,您可以使用vAxis.ticks 选项手动指定用于刻度线的值以及要用于表示这些值的字符串。 vAxis.ticks 选项采用对象数组,其中每个对象具有v(值)和f(格式化值 - 图表上显示的内容)属性。像这样的东西应该可以工作:

    vAxis: {
        ticks: [{v: 0, f: '0:00'}, {v: 30, f: '0:30'}, {v: 60, f: '1:00'}, {v: 90, f: '1:30'}]
    }
    

    【讨论】:

    • 这行得通。由于我事先不知道 y 轴的范围是多少,所以我必须动态生成 ticks 对象,这有点笨拙,但没关系。谢谢!
    • 我知道这篇文章现在已经很老了,但是@GMA,如果你碰巧还有你写的(甚至是骇人听闻的)代码,如果你能把它贴出来,那就太好了。我有类似的问题要解决。
    【解决方案2】:

    Google 允许您这样做....我这样做是为了显示“5 分钟”之类的数据。在您的选择中这样做:

                vAxis: {
                format: 'm \'mins\''
            },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多