Esempio n. 1
0
 public function testRenderOptionsEncoding()
 {
     //Check for encoding problems
     $chart = new Highchart();
     $chart->test->utf8String = "áù anything ü";
     $chart->test->iso88591 = iconv("UTF-8", "ISO-8859-1", "áù anything ü");
     $result = $chart->renderOptions();
     $this->assertEquals('{"test":{"utf8String":"\\u00e1\\u00f9 anything \\u00fc","iso88591":"\\u00e1\\u00f9 anything \\u00fc"}}', $result);
 }
Esempio n. 2
0
use Ghunti\HighchartsPHP\Highchart;
use Ghunti\HighchartsPHP\HighchartJsExpr;
$chart = new Highchart(Highchart::HIGHSTOCK);
$chart->includeExtraScripts();
$chart->chart->type = 'arearange';
$chart->rangeSelector->selected = 2;
$chart->title->text = "Temperature variation by day";
$chart->tooltip->valueSuffix = 'ºC';
$chart->series[] = array('name' => 'Temperatures', 'data' => new HighchartJsExpr('data'));
?>

<html>
    <head>
        <title>Area range</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <?php 
$chart->printScripts();
?>
    </head>
    <body>
        <div id="container"></div>
        <script type="text/javascript">
            $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=range.json&callback=?', function(data) {
                $('#container').highcharts('StockChart', <?php 
echo $chart->renderOptions();
?>
)});
        </script>
    </body>
</html>
Esempio n. 3
0
 public function approvals($start, $end)
 {
     $columns = ['id', 'approved_offline'];
     $approvals = Approval::whereBetween('created_at', [$start, $end])->get($columns);
     if ($approvals->isEmpty()) {
         $json = ['status' => 'error', 'title' => 'Error', 'message' => 'No approvals found in this date range!'];
         return $json;
     }
     $offline = $online = 0;
     foreach ($approvals as $approval) {
         if ($approval['approved_offline']) {
             $offline++;
         } else {
             $online++;
         }
     }
     $chart = new Highchart();
     $chart->chart->height = "250";
     $chart->credits->enabled = false;
     $chart->title->text = "";
     $chart->plotOptions->pie->colors = array("#D4D4D4", "#8DB6CD");
     $data[] = array("Offline", $offline);
     $data[] = array("Online", $online);
     $chart->series[] = array('type' => "pie", 'name' => "Approvals", 'data' => $data);
     echo $chart->renderOptions();
 }
Esempio n. 4
0
<html>
    <head>
        <title>Donut chart</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <?php 
$chart->printScripts();
?>
    </head>
    <body>
        <div id="container"></div>
        <script type="text/javascript">
            var colors = Highcharts.getOptions().colors,
                categories = ['MSIE', 'Firefox', 'Chrome', 'Safari', 'Opera'],
                name = 'Browser brands',
                data = <?php 
echo $chartData->renderOptions();
?>
;


              // Build the data arrays
              var browserData = [];
              var versionsData = [];
              for (var i = 0; i < data.length; i++) {

                // add browser data
                browserData.push({
                  name: categories[i],
                  y: data[i].y,
                  color: data[i].color
                });
 public static function workingTime($days, $type)
 {
     $data = self::workingTimeData($days, $type);
     foreach ($data as $division => $division_data) {
         foreach ($division_data as $key => $values) {
             $chart = new Highchart();
             switch ($key) {
                 case "ticket_count":
                     $chart->colors = ["#ECA9A9"];
                     break;
                     // pastel red
                 // pastel red
                 case "sum":
                     $chart->colors = ["#E4CFA1"];
                     break;
                     // pastel yellow
                 // pastel yellow
                 case "average":
                     $chart->colors = ["#ABC1E2"];
                     break;
                     // pastel blue
             }
             $chart->xAxis->type = "datetime";
             $chart->title->text = "";
             $chart->chart->width = 190;
             $chart->chart->height = 35;
             $chart->chart->backgroundColor = null;
             $chart->chart->borderWidth = 0;
             $chart->chart->margin = [2, 0, 2, 0];
             $chart->tooltip->backgroundColor = "#FFF";
             $chart->tooltip->borderWidth = 0;
             $chart->tooltip->shadow = false;
             $chart->tooltip->useHTML = true;
             $chart->tooltip->hideDelay = 0;
             $chart->tooltip->shared = true;
             $chart->tooltip->padding = 0;
             $chart->legend->enabled = false;
             $chart->credits->enabled = false;
             $chart->plotOptions->area->marker->enabled = false;
             $chart->series[0]->type = 'area';
             $chart->series[0]->data = [];
             foreach ($values['historical'] as $date => $value) {
                 $datetime = strtotime($date);
                 $datetime_utc = new HighchartJsExpr("Date.UTC(" . date('Y', $datetime) . "," . (date('m', $datetime) - 1) . "," . date('d,H,i,s', $datetime) . ")");
                 $chart->series[0]->data[] = [$datetime_utc, (double) $value];
             }
             $data[$division][$key]['chart'] = $chart->renderOptions();
         }
     }
     return $data;
 }