3

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

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

但我只想在垂直轴上有 1 和 2。

4

3 回答 3

1

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

您可以将十进制数字(在此处检查)与vAxis.format: '#'属性中继。但是你只会得到离散值。

于 2012-12-06T16:56:47.727 回答
0

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

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

不完美......但它的工作原理。

于 2014-01-04T18:19:08.147 回答
0

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

消除错误需要做的事情:

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

    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将使谷歌图表很好地适应它。

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

于 2017-09-15T08:43:32.030 回答