在Google Visualization API /带注释的时间线中自动重新缩放Y轴

时间:2009-10-07 15:43:47

标签: javascript google-visualization google-ajax-libraries

当用户放大一系列日期时,有没有办法强制注释时间线图在Y轴上自动更改比例?

检查下面的示例,并注意2009-10-09的值(“价格”)比其他值大两个数量级。当用户放大时,例如2009-10-01 - 2009-10-08,Y轴不变(使图形相当无用)。有没有办法自动重新缩放Y轴,以便在这个例子中它的范围从0到25或更合理的东西(然后当用户缩小时当然回到默认值)?

示例:http://jsbin.com/ifogo

示例代码(与上面的链接相同):

<script src="http://www.google.com/jsapi"></script>
<div id="visualization" style="width: 800px; height: 400px;"></div>
<script>
google.load('visualization', '1', {packages: ['annotatedtimeline' ]});
function drawVisualization() {
  var data = new google.visualization.DataTable({
  cols: [{label: 'Date', type: 'date'}, {label: 'Price', type: 'number'}],
  rows: [
    { c:[{v: new Date(2009, 10, 1) }, {v: 11 }]},
    { c:[{v: new Date(2009, 10, 2) }, {v: 12 }]},
    { c:[{v: new Date(2009, 10, 3) }, {v: 13 }]},
    { c:[{v: new Date(2009, 10, 4) }, {v: 11 }]},
    { c:[{v: new Date(2009, 10, 5) }, {v: 10 }]},
    { c:[{v: new Date(2009, 10, 6) }, {v: 16 }]},
    { c:[{v: new Date(2009, 10, 7) }, {v: 22 }]},
    { c:[{v: new Date(2009, 10, 8) }, {v: 12 }]},
    { c:[{v: new Date(2009, 10, 9) }, {v: 999 }]},
]},0.6);
var annotatedtimeline = new google.visualization.AnnotatedTimeLine(document.getElementById('visualization'));
annotatedtimeline.draw(data);
}
google.setOnLoadCallback(drawVisualization);
</script>

1 个答案:

答案 0 :(得分:5)

尝试使用

annotatedtimeline.draw(data, {scaleType: 'maximized'});

该可视化上的Google页面显示了您可以使用的各种选项。