1

我需要反转图表中的数据,例如当我获得 2015 年 3 月至 2014 年 4 月的数据时,我希望 2015 年 3 月(实际时间)位于右侧,而不是左侧。我正在使用 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");
4

1 回答 1

0
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);
于 2015-03-02T16:31:18.293 回答