<?php
namespace PhpOffice\PhpSpreadsheet\Chart;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
class PlotArea
{
/**
> * No fill in plot area (show Excel gridlines through chart).
* PlotArea Layout.
> *
*
> * @var bool
* @var Layout
> */
*/
> private $noFill = false;
private $layout;
>
> /**
/**
> * PlotArea Gradient Stop list.
* Plot Series.
> * Each entry is a 2-element array.
*
> * First is position in %.
* @var DataSeries[]
> * Second is ChartColor.
*/
> *
private $plotSeries = [];
> * @var array[]
> */
/**
> private $gradientFillStops = [];
* Create a new PlotArea.
>
*
> /**
* @param DataSeries[] $plotSeries
> * PlotArea Gradient Angle.
*/
> *
public function __construct(?Layout $layout = null, array $plotSeries = [])
> * @var ?float
{
> */
$this->layout = $layout;
> private $gradientFillAngle;
$this->plotSeries = $plotSeries;
>
}
> /**
< * @var Layout
> * @var ?Layout
< /**
< * Get Layout.
< *
< * @return Layout
< */
< public function getLayout()
> public function getLayout(): ?Layout
{
return $this->layout;
}
/**
* Get Number of Plot Groups.
< *
< * @return array of DataSeries
*/
< public function getPlotGroupCount()
> public function getPlotGroupCount(): int
{
return count($this->plotSeries);
}
/**
* Get Number of Plot Series.
*
* @return int
*/
public function getPlotSeriesCount()
{
$seriesCount = 0;
foreach ($this->plotSeries as $plot) {
$seriesCount += $plot->getPlotSeriesCount();
}
return $seriesCount;
}
/**
* Get Plot Series.
*
< * @return array of DataSeries
> * @return DataSeries[]
*/
public function getPlotGroup()
{
return $this->plotSeries;
}
/**
* Get Plot Series by Index.
*
* @param mixed $index
*
* @return DataSeries
*/
public function getPlotGroupByIndex($index)
{
return $this->plotSeries[$index];
}
/**
* Set Plot Series.
*
* @param DataSeries[] $plotSeries
*
* @return $this
*/
public function setPlotSeries(array $plotSeries)
{
$this->plotSeries = $plotSeries;
return $this;
}
public function refresh(Worksheet $worksheet): void
{
foreach ($this->plotSeries as $plotSeries) {
$plotSeries->refresh($worksheet);
}
> }
}
>
}
> public function setNoFill(bool $noFill): self
> {
> $this->noFill = $noFill;
>
> return $this;
> }
>
> public function getNoFill(): bool
> {
> return $this->noFill;
> }
>
> public function setGradientFillProperties(array $gradientFillStops, ?float $gradientFillAngle): self
> {
> $this->gradientFillStops = $gradientFillStops;
> $this->gradientFillAngle = $gradientFillAngle;
>
> return $this;
> }
>
> /**
> * Get gradientFillAngle.
> */
> public function getGradientFillAngle(): ?float
> {
> return $this->gradientFillAngle;
> }
>
> /**
> * Get gradientFillStops.
> *
> * @return array
> */
> public function getGradientFillStops()
> {
> return $this->gradientFillStops;