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); }
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>
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(); }
<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; }