"rgba(220,220,220,0.5)", 'strokeColor' => "rgba(220,220,220,1)", 'pointColor ' => "rgba(220,220,220,1)", 'pointStrokeColor' => "#fff", 'data' => array(65,59,90,81,56,55,40) ); $data['datasets'][] = array( 'fillColor' => "rgba(151,187,205,0.5)", 'strokeColor' => "rgba(151,187,205,1)", 'pointColor ' => "rgba(151,187,205,1)", 'pointStrokeColor' => "#fff", 'data' => array(28,48,40,19,96,27,100) ); $options = array('bezierCurve' => false); ' $cht = e107::getChart(); $cht->setType('line'); $cht->setOptions($options); $cht->setData($data,'canvas'); echo $cht->render('canvas'); */ /* * var allopts = { //Boolean - If we show the scale above the chart data -> Default value Changed scaleOverlay : true, //Boolean - If we want to override with a hard coded scale scaleOverride : false, //** Required if scaleOverride is true ** //Number - The number of steps in a hard coded scale scaleSteps : null, //Number - The value jump in the hard coded scale scaleStepWidth : null, //Number - The scale starting value scaleStartValue : null, //String - Colour of the scale line scaleLineColor : "rgba(0,0,0,.1)", //Number - Pixel width of the scale line scaleLineWidth : 1, //Boolean - Whether to show labels on the scale scaleShowLabels : true, //Interpolated JS string - can access value scaleLabel : "<%=value%>", //String - Scale label font declaration for the scale label scaleFontFamily : "'Arial'", //Number - Scale label font size in pixels scaleFontSize : 12, //String - Scale label font weight style scaleFontStyle : "normal", //String - Scale label font colour scaleFontColor : "#666", ///Boolean - Whether grid lines are shown across the chart scaleShowGridLines : true, //String - Colour of the grid lines scaleGridLineColor : "rgba(0,0,0,.05)", //Number - Width of the grid lines scaleGridLineWidth : 1, //Boolean - Whether the line is curved between points -> Default value Changed bezierCurve : false, //Boolean - Whether to show a dot for each point -> Default value Changed pointDot : false, //Number - Radius of each point dot in pixels pointDotRadius : 3, //Number - Pixel width of point dot stroke pointDotStrokeWidth : 1, //Boolean - Whether to show a stroke for datasets datasetStroke : true, //Number - Pixel width of dataset stroke datasetStrokeWidth : 2, //Boolean - Whether to fill the dataset with a colour datasetFill : true, //Boolean - Whether to animate the chart -> Default value changed animation : false, //Number - Number of animation steps animationSteps : 60, //String - Animation easing effect animationEasing : "easeOutQuart", //Function - Fires when the animation is complete onAnimationComplete : null, canvasBorders : true, canvasBordersWidth : 30, canvasBordersColor : "black", yAxisLeft : true, yAxisRight : true, yAxisLabel : "Y axis", yAxisFontFamily : "'Arial'", yAxisFontSize : 50, yAxisFontStyle : "normal", yAxisFontColor : "#666", xAxisLabel : "", xAxisFontFamily : "'Arial'", xAxisFontSize : 16, xAxisFontStyle : "normal", xAxisFontColor : "#666", yAxisUnit : "UNIT", yAxisUnitFontFamily : "'Arial'", yAxisUnitFontSize : 12, yAxisUnitFontStyle : "normal", yAxisUnitFontColor : "#666", graphTitle : "", graphTitleFontFamily : "'Arial'", graphTitleFontSize : 24, graphTitleFontStyle : "bold", graphTitleFontColor : "#666", graphSubTitle : "", graphSubTitleFontFamily : "'Arial'", graphSubTitleFontSize : 18, graphSubTitleFontStyle : "normal", graphSubTitleFontColor : "#666", footNote : "Footnote", footNoteFontFamily : "'Arial'", footNoteFontSize : 50, footNoteFontStyle : "bold", footNoteFontColor : "#666", legend : true, legendFontFamily : "'Arial'", legendFontSize : 18, legendFontStyle : "normal", legendFontColor : "#666", legendBlockSize : 30, legendBorders : true, legendBordersWidth : 30, legendBordersColor : "#666", // ADDED PARAMETERS graphMin : "DEFAULT", graphMax : "DEFAULT" */ /** * Using with Google Charts: * $cht = e107::getChart(); $cht->setProvider('google'); $cht->setType('line'); $cht->setOptions('demo'); $cht->setData('demo','canvas'); $text = $cht->render('canvas'); */ class e_chart { protected $id; protected $data = null; protected $type = 'line'; protected $options = array('scaleFontSize' => 14, 'annotateDisplay' => true, 'bezierCurve' => true, 'inGraphDataShow'=>false); protected $provider = null; function __construct() { // e107::js('core','chart/Chart.min.js','jquery'); // e107::css('inline','canvas.e-graph { width: 100% !important; max-width: 800px; height: auto !important; }'); } public function setProvider($type = null) { if(!empty($type)) { $this->provider = $type; } } public function getProvider() { return $this->provider; } private function getData() { return json_encode($this->data); } private function getOptions() { return json_encode($this->options); } public function debug($flag=false) { if($flag === true) { e107::getDebug()->log($this->data); } return $this; } public function renderTable() { $head = array(); $body = array(); foreach($this->data as $k=>$v) { if($k == 0) { foreach($v as $key=> $val) { $head[] = $val; } continue; } foreach($v as $key=> $val) { $body[$k][$key] = $val; } } $text = "
".$th." | "; } $text .= "
---|
".$td." | "; } $text .= "