当我的其中一个轴变得奇怪并开始重复数字时(即:1,1,2,2而不是1,2,3,我正在使用谷歌可视化的错误修复,用于组合(列/线)图表) 4)。请参阅下面的图片
以下是图表选项设置:
// Instantiate and draw our chart, passing in some options.
var frequency_by_day_options = {
vAxes: [
{format:'#,###', title:"Call Volume"},
{format: '#%', title:'Missed Call Rate',
viewWindow:{
max:1,
}}
],
legend: {position: 'none'},
chartArea: { height:'60%', width:'60%'},
width: 800,
height: 350,
backgroundColor: 'transparent',
bar: { groupWidth: '90%'},
isStacked: true,
seriesType: 'bars',
series: {0: {type:'bar', targetAxisIndex:0}, 1: {type:'line', targetAxisIndex:1},},
colors: ['blue', 'green'],
animation:{
duration: 1000,
easing: 'out',},
};
我不知道这里发生了什么。即使我注释掉所有vAxis选项,我仍然会观察到这种行为。关于我做错什么的任何想法?这让我疯狂:)
答案 0 :(得分:8)
当我们拥有较少数量的盒子时(比如说1或2),我遇到了同样的问题。我用maxValue选项解决了它。 只需在你的vaxis中添加maxValue = 4选项即可。它将始终添加5(0到4)个网格线。如果你的maxValue超过4,它会自动调整。 我的选项工作得很好(标题:'No of boxes',格式:'#',minValue:0,maxValue:4)。 minValue = 0不允许使用否定为负数。
答案 1 :(得分:3)
我猜左侧vAxis 不 4,但实际上是2. 5个标签分别是0,0.5,1,1.5,2。
由于格式设置为“#,###”,因此不会显示小数。如果将其更改为“#,###。#”,则会显示0,0.5,1,1.5,2。
有十几种方法可以解决它,但最简单的方法可能是确保你的轴值只是整数值,使用这样的javascript函数:
// Take the Max/Min of all data values in all graphs
var totalMax = 3;
var totalMin = -1;
// 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;
// Calculate the best factor for number of gridlines (2-5 gridlines)
// If the range of numbers divided by 2 or 5 is a whole number, use it
for (var i = 2; i <= 5; ++i) {
if ( Math.round(range/i) = range/i) {
var gridlines = i
}
}