private function renderCombinationChart($groupCount, $dimensions, $outputDestination) { require_once \PHPExcel\Settings::getChartRendererPath() . 'jpgraph_line.php'; require_once \PHPExcel\Settings::getChartRendererPath() . 'jpgraph_bar.php'; require_once \PHPExcel\Settings::getChartRendererPath() . 'jpgraph_scatter.php'; require_once \PHPExcel\Settings::getChartRendererPath() . 'jpgraph_regstat.php'; require_once \PHPExcel\Settings::getChartRendererPath() . 'jpgraph_line.php'; $this->renderCartesianPlotArea(); for ($i = 0; $i < $groupCount; ++$i) { $dimensions = null; $chartType = $this->chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); switch ($chartType) { case 'area3DChart': $dimensions = '3d'; // no break // no break case 'areaChart': $this->renderPlotLine($i, true, true, $dimensions); break; case 'bar3DChart': $dimensions = '3d'; // no break // no break case 'barChart': $this->renderPlotBar($i, $dimensions); break; case 'line3DChart': $dimensions = '3d'; // no break // no break case 'lineChart': $this->renderPlotLine($i, false, true, $dimensions); break; case 'scatterChart': $this->renderPlotScatter($i, false); break; case 'bubbleChart': $this->renderPlotScatter($i, true); break; default: $this->graph = null; return false; } } $this->renderLegend(); $this->graph->Stroke($outputDestination); return true; }