Как наметить число, которое увеличивается с течением времени, используя php и google chart api - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть некоторые данные в mysql, которые я загружаю в php и рисую линейную диаграмму с помощью API Google Chart.

Вот часть кода:

// ... do a sql query , then loop and create a chart ...

while($row=mysql_fetch_array($result))
{
$values[0][]=$row['v1'];
$values[1][]=$row['v2'];
}

$width=600;
$height=500;
$scaleMin=0;
$scaleMax=99;
$chart = new GoogleChart('lc', $width,$height );
$chart->setAutoscale(GoogleChart::AUTOSCALE_OFF);
// ... other google chart setup code
$line = new GoogleChartData($values[0]);
$line->setAutoscale(false);
$line->setScale($scaleMin,$scaleMax);
$line->setLegend('value1');
$chart->addData($line);

$line = new GoogleChartData($values[1]);
$line->setAutoscale(false);
$line->setScale($scaleMin,$scaleMax);
$line->setLegend('value2');
$chart->addData($line);
// ... more lines and chart set up ...

header('Content-Type: image/png');
echo $chart;

Так чтоработает нормально, за исключением того, что мои данные «value1» или «v1» обычно варьируются от минимум 10 до максимума 90. Мои данные «value2» или «v2» будут начинаться с 0 и со временем будут увеличиваться - потенциальнодо 100 000 или более.

Я пытаюсь выяснить, как настроить диаграмму Google так, чтобы она отображалась каким-либо образом, ИЛИ потенциально изменить данные в массиве, чтобы он отображался правильно.

В настоящее время он будет рисовать линию, начиная с 0, затем час за часом он будет немного подниматься, образуя лестничную форму.Проблема в том, что в конце концов он проходит за 99, и у вас больше нет ни строчки, ни подобных.

Просто ищу мысли.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2011

В итоге я добавил некоторую логику в свой php-код, чтобы проверить предыдущее значение в цикле, и установил значение «10», если оно увеличилось, «0», если оно не изменилось. Я не могу видеть сумму, которую он увеличил (хотя я уверен, что математически я мог бы рассчитать это), но в моем случае все, что меня волнует, это знать в течение этого времени, если оно увеличилось. На моем графике я вижу линию в диапазоне от 0, прыгая до 10 на несколько тиков, а затем возвращаясь к 0.

0 голосов
/ 09 ноября 2011

Ну, я думаю, что лучший ответ - это либо масштабировать эти значения, либо использовать альтернативный график (например, столбцы и т. Д.)
Вот ссылка, которую я получил от Google API API.
http://code.google.com/p/googlechartphplib/wiki/Autoscaling
http://code.google.com/intl/fr-FR/apis/chart/image/docs/data_formats.html#scaled_values

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...