Установка значения жесткой минимальной оси в API графиков Google
Я пытаюсь создать диаграмму Google, чтобы показать процентное соотношение времени простоя и времени простоя. Это отлично работает, за исключением одной маленькой вещи - я бы хотел, чтобы базовая линия диаграммы была на уровне 99,8, а максимальная - 100, поскольку простои обычно меньше 0,2. Это сделает диаграмму доступной.
Мне это показалось достаточно простым. Я решил, что это сработает:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Date');
data.addColumn('number', 'Uptime');
data.addColumn('number', 'Downtime');
data.addRows([
['Dec 1, 1830', 99.875, 0.125],
['Dec 8, 1830', 99.675, 0.325],
['Dec 15, 1830', 99.975, 0.025],
['Dec 22, 1830', 100.0, 0.0]
]);
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240, isStacked: true, vAxis: { title: "Percentage Uptime", minValue: 99.8, maxValue: 100}});
К сожалению, диаграмма полностью игнорирует minValue на vAxis. По-видимому, это ожидаемое поведение, согласно API, но это оставляет вопрос - как бы я это выполнил? Я даже зашел так далеко, чтобы преобразовать данные, т.е. Вычесть 99,8 из всех значений времени безотказной работы и просто перевести диаграмму с 0 на .2, и это выливает график, который выглядит нормально, но я не могу применить метки на вертикальную ось, которые скажут 99,8, 99,85, 99,9, что угодно - ось говорит, довольно послушно, 0 внизу, и .2 наверху, и, похоже, нет никакого способа исправить это направление. Любое решение было бы приемлемым, я уверен, что НЕКОТОРЫЙ способ сделать эту работу?
Ответы
Ответ 1
вам нужно установить viewWindow следующим образом:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Date');
data.addColumn('number', 'Uptime');
data.addColumn('number', 'Downtime');
data.addRows([
['Dec 1, 1830', 99.875, 0.125],
['Dec 8, 1830', 99.675, 0.325],
['Dec 15, 1830', 99.975, 0.025],
['Dec 22, 1830', 100.0, 0.0]
]);
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data,
{width: 400,
height: 240,
isStacked: true,
vAxis: {
title: "Percentage Uptime",
viewWindowMode:'explicit',
viewWindow:{
max:100,
min:99.8
}
}
}
);
//отредактирован для более новой версии api
Ответ 2
У меня была аналогичная проблема, и мне нужно было указать свойство как "мин", а не "minValue"
vAxis: {
viewWindowMode:'explicit',
viewWindow: {
max:100,
min:99.8
}
}