我需要设置我的hAxis的时间范围,使得minValue为09:00,maxValue为17:00,增量为1小时(即9,10,11,12,13,14,...,17)< / p>
目前我的数据格式为H:m(例如:09:35,10:20)
var formatter3 = new google.visualization.DateFormat({pattern: 'H:m'});
formatter3.format(data,0);
以下是我的选择:
var options = {
curveType: "function",
title : '',
hAxis:{slantedTextAngle: 90,textStyle:{fontSize:8}},
colors : ['red','#3366CC', '#999999'],
vAxes: {
0: {logScale: false, format:'0.0000'},
1: {logScale: false}
},
hAxis: {
format: 'H:m',
minValue: new Date(null, null, null, 9, 0, 0),
maxValue: new Date(null, null, null, 17, 0, 0),
viewWindow:{min: new Date(null, null, null, 9, 0, 0),
max: new Date(null, null, null, 17, 0, 0)},
series: {
0: {targetAxisIndex:0, type: "line"},
1: {targetAxisIndex:0, type: "line"},
2: {targetAxisIndex:1, type: "bars"}
}
};
然而,它仍然无效。请指教。谢谢!
答案 0 :(得分:2)
不幸的是,日期和时间值会忽略minValue,maxValue和基线值。我不确定这是最近的错误,但我在一周前才注意到它。您可以尝试使用viewWindow min和max,以及gridlines.count选项来获得所需的结果。或者,您可以将所有日期值转换为字符串,如果值均匀分布,则轴将使用您的显式值。
另一个可能适合您的新功能是,您可以提供明确的刻度值数组,并带有刻度:[...]选项。在当前版本的gviz中,格式化是使用您的格式选项完成的,这应该足以满足您的需求。在即将发布的版本中,您还可以指定每个刻度值的格式。
因此,最好使用timeofday值指定示例中的时间,如下所示:
hAxis: {
ticks: [[9, 0, 0], [10, 0, 0], [11, 0, 0], [12, 0, 0], ...]
}
我认为你可以用日期时间值做同样的事情,如果这是你的数据值。