Highcharts线区域图表数据格式问题

时间:2016-09-05 03:53:37

标签: php jquery highcharts laravel-5.2

我正在使用Laravel后端为Highcharts生成原始数据数组。我使用this Highcharts example作为基础。我无法使用我的图表来格式化x轴日期,也无法使用工具提示来显示正确的日期(如示例所示)。我认为我的问题是数据格式。

FIDDLE HERE

我的Laravel控制器代码:

$transactionData = Transaction::where('type', '=', 'INVOICE')
    ->whereNotIn('status', ['DRAFT', 'CANCELLED'])
    ->where('issue_date', '>=', $fiscal_start)
    ->orderBy('due_date', 'asc')
    ->select(['issue_date', 'amount_transaction_total'])
    ->get()->toArray();

$invoicedLineChartData = [];
foreach ($transactionData as $data) {
    $invoicedLineChartData[] = [
        Carbon::parse($data['issue_date']), 
        floatval($data['amount_transaction_total']))
    ];
}

这会生成如下所示的数据:

[[{"date":"2016-07-04 01:11:07.000000","timezone_type":3,"timezone":"UTC"},909],
 [{"date":"2016-07-04 01:11:07.000000","timezone_type":3,"timezone":"UTC"},1988]...]

我可以从Highcharts示例中看到AJAX返回如下所示的数据:

[[Date.UTC(2013,5,2),0.7695],
[Date.UTC(2013,5,3),0.7648],
[Date.UTC(2013,5,4),0.7645],...]

从Laravel端为此Highchart类型格式化后端数据的正确方法是什么?我尝试了各种Carbon格式但结果仍然不正确。

此外,为什么当数据中没有负数条目时,y轴从-500开始?谢谢!

0 个答案:

没有答案