getActiveSheet();
$dataSeriesLabels = [
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, null, null, 1, ['5-6']),
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, null, null, 1, ['6-7']),
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_STRING, null, null, 1, ['7-8']),
];
$xAxisTickValues = [
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, null, null, 9, [1, 2, 3, 4, 5, 6, 7, 8, 9]),
];
$dataSeriesValues = [
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, null, null, 9, [6, 6, 6, 6, 6, 6, 5.9, 6, 6]),
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, null, null, 9, [6, 6, 6, 6.5, 7, 7, 7, 7, 7]),
new DataSeriesValues(DataSeriesValues::DATASERIES_TYPE_NUMBER, null, null, 9, [6, 6, 6, 7, 8, 8, 8, 8, 7.9]),
];
$series = new DataSeries(
DataSeries::TYPE_SURFACECHART,
DataSeries::GROUPING_STANDARD, // grouping should not be written for surface chart
range(0, count($dataSeriesValues) - 1),
$dataSeriesLabels,
$xAxisTickValues,
$dataSeriesValues,
null, // plotDirection
false, // smooth line
DataSeries::STYLE_LINEMARKER // plotStyle
);
$plotArea = new PlotArea(null, [$series]);
$legend = new ChartLegend(ChartLegend::POSITION_BOTTOM, null, false);
$title = new Title('График распредления температур в пределах кр');
$chart = new Chart(
'chart2',
$title,
$legend,
$plotArea,
true,
DataSeries::EMPTY_AS_GAP,
);
$chart->setTopLeftPosition('$A$1');
$chart->setBottomRightPosition('$P$20');
$sheet->addChart($chart);
$writer = new XlsxWriter($spreadsheet);
$writer->setIncludeCharts(true);
$writer = new XlsxWriter($spreadsheet);
$writer->setIncludeCharts(true);
$writerChart = new XlsxWriter\Chart($writer);
$data = $writerChart->writeChart($chart);
// rotX etc. should be generated for surfaceChart 2D
// even when unspecified.
$expectedXml2D = [
'',
];
$expectedXml3D = [
'',
];
$expectedXmlNoX = [
'c:grouping',
];
// confirm that file contains expected tags
foreach ($expectedXml2D as $expected) {
self::assertSame(1, substr_count($data, $expected), $expected);
}
foreach ($expectedXmlNoX as $expected) {
self::assertSame(0, substr_count($data, $expected), $expected);
}
$series->setPlotType(DataSeries::TYPE_SURFACECHART_3D);
$plotArea = new PlotArea(null, [$series]);
$chart->setPlotArea($plotArea);
$writerChart = new XlsxWriter\Chart($writer);
$data = $writerChart->writeChart($chart);
// confirm that file contains expected tags
foreach ($expectedXml3D as $expected) {
self::assertSame(1, substr_count($data, $expected), $expected);
}
foreach ($expectedXmlNoX as $expected) {
self::assertSame(0, substr_count($data, $expected), $expected);
}
$spreadsheet->disconnectWorksheets();
}
}