Установка жесткого минимального значения оси в Google Charts API - PullRequest
55 голосов
/ 15 июня 2011

Я пытаюсь построить Google Chart, чтобы показать процентное соотношение времени безотказной работы и простоя в сложенном виде.Это прекрасно работает, за исключением одной маленькой вещи - я бы хотел, чтобы базовая линия графика была на уровне 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 на 0,2, и это выдает график, который выглядит хорошо, но я не могу применитьметки на вертикальной оси, которые будут обозначать 99,8, 99,85, 99,9, что угодно - ось довольно покорно говорит 0 внизу и 0,2 сверху, и, кажется, нет никакого способа исправить это и в этом направлении.Любое решение было бы приемлемым, я уверен, что есть НЕКОТОРЫЙ способ сделать эту работу?

Ответы [ 2 ]

80 голосов
/ 20 июля 2011

вам нужно установить 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

21 голосов
/ 24 июля 2013

У меня была похожая проблема, и мне пришлось указать свойство как "min", а не "minValue"

vAxis: { 
    viewWindowMode:'explicit',
    viewWindow: {
        max:100,
        min:99.8
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...