private function PHPExcel_Chart_Renderer_jpgraph::_renderPlotStock in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php \PHPExcel_Chart_Renderer_jpgraph::_renderPlotStock()
1 call to PHPExcel_Chart_Renderer_jpgraph::_renderPlotStock()
- PHPExcel_Chart_Renderer_jpgraph::_renderStockChart in vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Chart/ Renderer/ jpgraph.php
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Chart/ Renderer/ jpgraph.php, line 517
Class
- PHPExcel_Chart_Renderer_jpgraph
- PHPExcel_Chart_Renderer_jpgraph
Code
private function _renderPlotStock($groupID) {
$seriesCount = $this->_chart
->getPlotArea()
->getPlotGroupByIndex($groupID)
->getPlotSeriesCount();
$plotOrder = $this->_chart
->getPlotArea()
->getPlotGroupByIndex($groupID)
->getPlotOrder();
$dataValues = array();
// Loop through each data series in turn and build the plot arrays
foreach ($plotOrder as $i => $v) {
$dataValuesX = $this->_chart
->getPlotArea()
->getPlotGroupByIndex($groupID)
->getPlotValuesByIndex($v)
->getDataValues();
foreach ($dataValuesX as $j => $dataValueX) {
$dataValues[$plotOrder[$i]][$j] = $dataValueX;
}
}
if (empty($dataValues)) {
return;
}
$dataValuesPlot = array();
// Flatten the plot arrays to a single dimensional array to work with jpgraph
for ($j = 0; $j < count($dataValues[0]); $j++) {
for ($i = 0; $i < $seriesCount; $i++) {
$dataValuesPlot[] = $dataValues[$i][$j];
}
}
// Set the x-axis labels
$labelCount = count($this->_chart
->getPlotArea()
->getPlotGroupByIndex($groupID)
->getPlotValuesByIndex(0)
->getPointCount());
if ($labelCount > 0) {
$datasetLabels = $this->_chart
->getPlotArea()
->getPlotGroupByIndex($groupID)
->getPlotCategoryByIndex(0)
->getDataValues();
$datasetLabels = $this
->_formatDataSetLabels($groupID, $datasetLabels, $labelCount);
$this->_graph->xaxis
->SetTickLabels($datasetLabels);
}
$seriesPlot = new StockPlot($dataValuesPlot);
$seriesPlot
->SetWidth(20);
$this->_graph
->Add($seriesPlot);
}