# tablepress/3.4/libraries/vendor/PhpSpreadsheet/Chart/TrendLine.php

TablePress – Tables in WordPress made easy, version 3.4. 218 lines.

- Page: https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Chart/TrendLine.php
- Raw: https://pluginprobe.com/plugins/tablepress/3.4/raw/libraries/vendor/PhpSpreadsheet/Chart/TrendLine.php
- Modified: 2025-01-08T09:25:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Chart/TrendLine.php#L10-L20`.

```php
<?php

namespace TablePress\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;
	}
}

```
