Как я могу инвертировать данные оси Y от svggraph (библиотека php)?

Мне нужно инвертировать данные из моего графика, например, когда я получаю данные с марта 2015 года по апрель 2014 года, я хочу, чтобы март 2015 года (фактическое время) был справа, а не слева. Я использую библиотеку SVGGraph. Спасибо!

$graph = new SVGGraph($w, $h, $settings);
$data = [];
for ($i = 1; $i <= 12; $i++) {
switch ($op) {
case "eaqf-f":
$data["$y-$m"] = StatUtil::getTotalEaInvoiced($y, $m, $oid);
$data["$y-$m"] = $data["$y-$m"]['q'];
break;

case "cv-val":
$data["$y-$m"] = StatUtil::getInvoicedCVs($y, $m, $oid);
break;

case "eaqf-r":
$data["$y-$m"] = StatUtil::getTotalConsumption($y, $m, $oid);
break;

default: throw RuntimeException("Unsupported op: $op");
}

if (--$m == 0) {
$m = 12;
--$y;
}
}

$graph ->Values($data);
$graph ->Render("Linegraph");

1

Решение

for ($i = 1; $i <= 12; $i++) {
$_key = sprintf('%1$04d-%2$02d', $y, $m);
switch ($op) {
case "eaqf-f":
$data[$_key] = StatUtil::getTotalEaInvoiced($y, $m, $oid);
$data[$_key] = $data[$_key]['q'];
break;

и используйте ksort перед рендерингом

ksort($data, SORT_STRING);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]