Laravel Highcharts - 无法设置数组的值和标签

时间:2018-02-05 21:14:31

标签: php arrays highcharts laravel-5.4

所以我有2个阵列" $ resX'和" $ rexY"我想将它们用于我的线图的值和标签。

我有一切正常工作,所以数组显示正确的信息("有点")和图表,如果静态设置的值显示但不显示我的数据。

我的控制器

    $user = User::findOrFail($talentId);
    $results = $user->performance;
    $resultsSorted = $results->sortBy('created_at');
    $resY = $resultsSorted
        ->groupBy(function ($result, $key) {
            return $result->created_at->format('wD');
        })
        ->map(function ($result) {
            return ($result->sum('answer'));
        });

    $i = 0;

    foreach($resY as $key = $label){
        $i++;


        $label = "W".$i;

    }

      $chartOne = Charts::create('area', 'highcharts')
        ->title('User Results')
        ->elementLabel('points')
        ->labels([$label])
        ->values([$resY])
        ->responsive(true);

基本上我想要获得的是标签将打印出来" W1"然后是W2等..

我已经计算出了总值,但却为标签而苦苦挣扎

所以我的问题是:

  1. 如何获得$ label以显示每个值的W1,W2

1 个答案:

答案 0 :(得分:0)

很容易搞清楚,以为我会给出答案,因为将来有人需要它。刚刚添加了变量$ week

    $i = 0;
    $week = "";

    foreach($resY as $key => $label){
        $i++;

        $week[] = "W" . $i;

    }

现在只需在图表上的标签上添加$ week

    $chartOne = Charts::create('area', 'highcharts')
        ->title('Talents Progress')
        ->elementLabel('+points')
        ->labels($week)
        ->values($resY)
        ->responsive(true);