init
This commit is contained in:
commit
72a26edcff
22092 changed files with 2101903 additions and 0 deletions
217
lib/PhpSpreadsheet/Chart/TrendLine.php
Normal file
217
lib/PhpSpreadsheet/Chart/TrendLine.php
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||
|
||||
class TrendLine extends Properties
|
||||
{
|
||||
const TRENDLINE_EXPONENTIAL = 'exp';
|
||||
const TRENDLINE_LINEAR = 'linear';
|
||||
const TRENDLINE_LOGARITHMIC = 'log';
|
||||
const TRENDLINE_POLYNOMIAL = 'poly'; // + 'order'
|
||||
const TRENDLINE_POWER = 'power';
|
||||
const TRENDLINE_MOVING_AVG = 'movingAvg'; // + 'period'
|
||||
const TRENDLINE_TYPES = [
|
||||
self::TRENDLINE_EXPONENTIAL,
|
||||
self::TRENDLINE_LINEAR,
|
||||
self::TRENDLINE_LOGARITHMIC,
|
||||
self::TRENDLINE_POLYNOMIAL,
|
||||
self::TRENDLINE_POWER,
|
||||
self::TRENDLINE_MOVING_AVG,
|
||||
];
|
||||
|
||||
private string $trendLineType = 'linear'; // TRENDLINE_LINEAR
|
||||
|
||||
private int $order = 2;
|
||||
|
||||
private int $period = 3;
|
||||
|
||||
private bool $dispRSqr = false;
|
||||
|
||||
private bool $dispEq = false;
|
||||
|
||||
private string $name = '';
|
||||
|
||||
private float $backward = 0.0;
|
||||
|
||||
private float $forward = 0.0;
|
||||
|
||||
private float $intercept = 0.0;
|
||||
|
||||
/**
|
||||
* Create a new TrendLine object.
|
||||
*/
|
||||
public function __construct(
|
||||
string $trendLineType = '',
|
||||
?int $order = null,
|
||||
?int $period = null,
|
||||
bool $dispRSqr = false,
|
||||
bool $dispEq = false,
|
||||
?float $backward = null,
|
||||
?float $forward = null,
|
||||
?float $intercept = null,
|
||||
?string $name = null
|
||||
) {
|
||||
parent::__construct();
|
||||
$this->setTrendLineProperties(
|
||||
$trendLineType,
|
||||
$order,
|
||||
$period,
|
||||
$dispRSqr,
|
||||
$dispEq,
|
||||
$backward,
|
||||
$forward,
|
||||
$intercept,
|
||||
$name
|
||||
);
|
||||
}
|
||||
|
||||
public function getTrendLineType(): string
|
||||
{
|
||||
return $this->trendLineType;
|
||||
}
|
||||
|
||||
public function setTrendLineType(string $trendLineType): self
|
||||
{
|
||||
$this->trendLineType = $trendLineType;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getOrder(): int
|
||||
{
|
||||
return $this->order;
|
||||
}
|
||||
|
||||
public function setOrder(int $order): self
|
||||
{
|
||||
$this->order = $order;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getPeriod(): int
|
||||
{
|
||||
return $this->period;
|
||||
}
|
||||
|
||||
public function setPeriod(int $period): self
|
||||
{
|
||||
$this->period = $period;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDispRSqr(): bool
|
||||
{
|
||||
return $this->dispRSqr;
|
||||
}
|
||||
|
||||
public function setDispRSqr(bool $dispRSqr): self
|
||||
{
|
||||
$this->dispRSqr = $dispRSqr;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDispEq(): bool
|
||||
{
|
||||
return $this->dispEq;
|
||||
}
|
||||
|
||||
public function setDispEq(bool $dispEq): self
|
||||
{
|
||||
$this->dispEq = $dispEq;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getName(): string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName(string $name): self
|
||||
{
|
||||
$this->name = $name;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getBackward(): float
|
||||
{
|
||||
return $this->backward;
|
||||
}
|
||||
|
||||
public function setBackward(float $backward): self
|
||||
{
|
||||
$this->backward = $backward;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getForward(): float
|
||||
{
|
||||
return $this->forward;
|
||||
}
|
||||
|
||||
public function setForward(float $forward): self
|
||||
{
|
||||
$this->forward = $forward;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getIntercept(): float
|
||||
{
|
||||
return $this->intercept;
|
||||
}
|
||||
|
||||
public function setIntercept(float $intercept): self
|
||||
{
|
||||
$this->intercept = $intercept;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setTrendLineProperties(
|
||||
?string $trendLineType = null,
|
||||
?int $order = 0,
|
||||
?int $period = 0,
|
||||
?bool $dispRSqr = false,
|
||||
?bool $dispEq = false,
|
||||
?float $backward = null,
|
||||
?float $forward = null,
|
||||
?float $intercept = null,
|
||||
?string $name = null
|
||||
): self {
|
||||
if (!empty($trendLineType)) {
|
||||
$this->setTrendLineType($trendLineType);
|
||||
}
|
||||
if ($order !== null) {
|
||||
$this->setOrder($order);
|
||||
}
|
||||
if ($period !== null) {
|
||||
$this->setPeriod($period);
|
||||
}
|
||||
if ($dispRSqr !== null) {
|
||||
$this->setDispRSqr($dispRSqr);
|
||||
}
|
||||
if ($dispEq !== null) {
|
||||
$this->setDispEq($dispEq);
|
||||
}
|
||||
if ($backward !== null) {
|
||||
$this->setBackward($backward);
|
||||
}
|
||||
if ($forward !== null) {
|
||||
$this->setForward($forward);
|
||||
}
|
||||
if ($intercept !== null) {
|
||||
$this->setIntercept($intercept);
|
||||
}
|
||||
if ($name !== null) {
|
||||
$this->setName($name);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue