如何删除Google柱形图中的小数位数

时间:2012-12-05 17:11:57

标签: php charts google-visualization

如何在垂直轴上仅显示整数?

我有这个:http://jsbin.com/oxodab/1

但我希望纵轴只有1和2。

3 个答案:

答案 0 :(得分:1)

对于柱形图,没有vAxis.showTextEvery属性!

您可以使用vAxis.format: '#'属性中继十进制数字(check here)。但是你会得到离散值。

答案 1 :(得分:0)

我设法通过在选项中添加这一行来做我想要的事情:

vAxis: {maxValue: x} (x > 5)

不完美......但它确实有效。

答案 2 :(得分:0)

这听起来很疯狂,但它对我的情况来说就像魅力一样。随意分享您的用例,这个用法不适用于这个小魔术。

消除错误的措施:

  • vAxis上的网格线数限制为4(这对我们大多数人来说已经足够了)。
  • 从图表数据中找到最大值maxValue
  • 然后将最大值maxValue除以4,以确定结果是否为十进制数。 e.g. 20/ 4 = 0.5
  • 通过这种方式,我们可以有条件地将maxValue添加到vAxis,如下所示:

    const maxValue = 20; // Say, the maximum value is 20.
    
    ...
    vAxis: Object.assign({}, { ... }, noDecimals(maxValue)),
    ...
    
    /**
     * Check if the divided value has decimals.
     * If it's decimals, increment the 'maxValue' by 1.
     */
    function noDecimals(maxValue) {
      return /\d+\.\d+/i.test(maxValue / 4)
        ? { maxValue: maxValue + 1 }
        : {};
    }
    

最初,当您尝试分配从图表数据中找到的最大值时,它无法按预期工作。通过将最大值增加1,可以使Google图表更加合适。

希望这对遇到此问题的人有帮助!