Автоматическое изменение масштаба оси Y в Google Visualization API / Аннотированная временная шкала
-
20-09-2019 - |
Вопрос
Есть ли какой-либо способ заставить Аннотированный график временной линии автоматически изменять масштаб по оси 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>
Решение
Попробуйте использовать
annotatedtimeline.draw(data, {scaleType: 'maximized'});
Страница Google в этой визуализации показывает различные опции, которые вы можете использовать.