App\Http\Controllers\Laralum\Laralum::barChart PHP Method

barChart() public static method

public static barChart ( $title, $element_label, $labels, $data, $colors = null )
    public static function barChart($title, $element_label, $labels, $data, $colors = null)
    {
        $id = Laralum::randomString();
        if (Laralum::settings()->bar_chart_source == 'chartjs') {
            $graph = "\n            <canvas id='{$id}'></canvas>\n            <script>\n                var ctx = document.getElementById('{$id}');\n                var myChart = new Chart(ctx, {\n                    type: 'bar',\n                    data: {\n                        labels: [";
            foreach ($labels as $label) {
                $graph .= "'" . $label . "',";
            }
            $graph .= "],\n                        datasets: [\n                            {\n                                label: '{$element_label}',\n                                backgroundColor: [";
            if ($colors) {
                foreach ($colors as $color) {
                    $graph .= "'" . $color . "',";
                }
            } else {
                foreach ($data as $dta) {
                    $graph .= "'" . Laralum::randomColor() . "',";
                }
            }
            $graph .= "],\n                                data: [";
            foreach ($data as $dta) {
                $graph .= $dta . ',';
            }
            $graph .= "],\n                            }\n                        ]\n                    },\n                    options: {\n                        title: {\n                            display: true,\n                            text: '" . $title . "',\n                            fontSize: 20,\n                        },\n                        scales: {\n                            yAxes: [{\n                                display: true,\n                                ticks: {\n                                    beginAtZero: true,\n                                }\n                            }]\n                        }\n                    }\n                });\n            </script>\n            ";
        } elseif (Laralum::settings()->bar_chart_source == 'highcharts') {
            $graph = "\n                <script type='text/javascript'>\n                    \$(function () {\n                        \$('#{$id}').highcharts({\n                            chart: {\n                                plotBackgroundColor: null,\n                                plotBorderWidth: null,\n                                plotShadow: false,\n                                type: 'column'\n                            },\n                            title: {\n                                text: '{$title}'\n                            },\n                            plotOptions: {\n                               column: {\n                                   pointPadding: 0.2,\n                                   borderWidth: 0\n                               }\n                           },\n                           xAxis: {\n                                categories: [\n                                    ";
            foreach ($labels as $label) {
                $graph .= "'{$label}',";
            }
            $graph .= "\n                                ],\n                                crosshair: true\n                            },\n                            series: [{\n                                name: '{$element_label}',\n                                data: [\n                                ";
            foreach ($data as $dta) {
                $graph .= "{$dta},";
            }
            $graph .= "\n                                ]\n                            }]\n                        });\n                    });\n                </script>\n                <div id='{$id}'></div>\n            ";
        } else {
            $graph = "\n                <script type='text/javascript'>\n                  google.charts.setOnLoadCallback(drawPieChart);\n                  function drawPieChart() {\n\n                      var data = google.visualization.arrayToDataTable([\n                          ['Element', '{$element_label}'],\n                          ";
            $i = 0;
            foreach ($data as $dta) {
                $e = $labels[$i];
                $v = $dta;
                $graph .= "['{$e}', {$v}],";
                $i++;
            }
            $graph .= "\n                      ]);\n\n                    var options = {\n                        legend: { position: 'top', alignment: 'end' },\n                        fontSize: 12,\n                        title: '{$title}',";
            if ($colors) {
                $graph .= "colors:[";
                foreach ($colors as $color) {
                    $graph .= "'{$color}',";
                }
                $graph .= "],";
            }
            $graph .= "\n                    };\n\n                    var chart = new google.visualization.ColumnChart(document.getElementById('{$id}'));\n\n                    chart.draw(data, options);\n                  }\n                </script>\n\n                <div id='{$id}'></div>\n            ";
        }
        return $graph;
    }