Цикл в dataPoints - PullRequest
       6

Цикл в dataPoints

0 голосов
/ 29 августа 2018

Я пытаюсь выполнить цикл внутри dataPoints кольцевой диаграммы. У меня есть динамический массив значений (строка) в PHP, но этот массив часто меняется. Я отображаю в dataPoints мои переменные php на других графиках, но для этой кольцевой диаграммы я пытаюсь зациклить dataPoints, чтобы он автоматически устанавливал {y} и имя.

data: [{
        type: "doughnut",
        innerRadius: 60,
        showInLegend: true,
        toolTipContent: "<b>{name}</b>: {y}",
        indexLabel: "{name} - {y}",
        indexLabelFontSize: 14,
        dataPoints: dps
/*[
                { y: <?echo $Count_Upcoming;?>, name: "Up coming", color: "#215C89" },
                { y: <?echo $Count_Planned;?>,  name: "Scheduled", color: "#3984BD" },
                { y: <?echo $Count_Review;?>,  name: "In Review", color: "#46A4EB" },
                { y: <?echo $Count_Trouble;?>,  name: "Trouble", color: "#DC5151" },
                { y: <?echo $Count_Maint;?>,  name: "UG Maintenance", color: "#659FC8" },
                { y: <?echo $Count_CUST;?>, name: "Services", color: "#A0B2BF" }
            ]*/
}]

и вне этого я пытаюсь сделать это:

<?for($i = 0; $i < $COUNT_TYPE; $i++){?>

    dps.push({y: <?echo $val[$i];?> }, name: <?echo $key[$i];?>)
<?}?>

мой массив php:

                         $NEW_TYPEOFWORK = array_count_values($TW);
                         foreach($NEW_TYPEOFWORK as $key[]=>$val[]){}
                         $COUNT_TYPE = count($NEW_TYPEOFWORK);

Как это можно сделать? или если есть какие-либо другие способы зацикливания для dataPoints для переменных php в диаграмме javascript.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Я решил это следующим образом: php: установка массива так:

foreach($NEW_TYPEOFWORK as $key=>$val){$datapoint[] = array("y"=> $val, "name"=> $key); }

в CanvasJS:

data: [{
        type: "doughnut",
        innerRadius: 60,
        showInLegend: true,
        toolTipContent: "<b>{name}</b>: {y}",
        indexLabel: "{name} - {y}",
        indexLabelFontSize: 14,
        dataPoints: <?echo json_encode($datapoint, JSON_NUMERIC_CHECK);?>

    }]
0 голосов
/ 30 августа 2018

не понял, где в вашем массиве php находится цвет - однако я бы сделал цикл вывода php следующим образом:

<?
  foreach($NEW_TYPEOFWORK as $key=>$val) echo("{y:".$val.";name:'".$key."';color:'#777777'");
?>
...