【问题标题】:Laravel Highcharts - Cant set value and labels from arraysLaravel Highcharts - 无法从数组中设置值和标签
【发布时间】:2018-02-05 21:14:30
【问题描述】:

所以我有 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

【问题讨论】:

    标签: php arrays highcharts laravel-5.4


    【解决方案1】:

    很容易弄清楚,我想我会给出答案,以防将来有人需要它。刚刚添加了变量 $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);
    

    【讨论】:

      猜你喜欢
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2016-02-13
      • 2014-01-05
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      相关资源
      最近更新 更多