1

我使用谷歌图表绘制了一个柱形图。现在我想知道图表使用的实际 vAxis.maxValue 是什么。注意,我没有设置这个值,图表已经设置了它自己。但我想知道它使用了什么价值。我怎样才能做到这一点?

4

1 回答 1

1

我还没有找到任何解释谷歌如何确定其最大和最小轴值的地方(有时它们很奇怪)。在 Excel 中无法计算(这取决于字体大小、图表大小、线条粗细等)。

处理此类问题的最简单方法是编写一个函数来确定您自己的最大/最小轴值。以下代码可能会有所帮助(这是一种方式的逻辑,根据您的应用程序需要进行调整):

// Take the Max/Min of all data values in all graphs (these are just arbitrary numbers)
var totalMax = 345;
var totalMin = -123;

// Figure out the largest number (positive or negative)
var biggestNumber = Math.max(Math.abs(totalMax),Math.abs(totalMin));

// Round to an exponent of 10 appropriate for the biggest number
var roundingExp = Math.floor(Math.log(biggestNumber) / Math.LN10);
var roundingDec = Math.pow(10,roundingExp);

// Round your max and min to the nearest exponent of 10
var newMax = Math.ceil(totalMax/roundingDec)*roundingDec;
var newMin = Math.floor(totalMin/roundingDec)*roundingDec;

// Determine the range of your values
var range = newMax - newMin;

// Define the number of gridlines (default 5)
var gridlines = 5;

// Determine an appropriate gap between gridlines
var interval = range / (gridlines - 1);

// Round that interval up to the exponent of 10
var newInterval = Math.ceil(interval/roundingDec)*roundingDec;

// Re-round your max and min to the new interval
var finalMax = Math.ceil(totalMax/newInterval)*newInterval;
var finalMin = Math.floor(totalMin/newInterval)*newInterval;
于 2013-01-11T02:58:40.560 回答