protected function getChartElements(array $data)
    {
        $count = count($data);
        $step = $this->getStepWidth($count);
        $height = $this->getInnerNormalizedHeight();
        $normalizedPadding = $this->getNormalizedPadding();
        $data = $this->getDataForChartElements($data, $height);

        $pictureX1 = $pictureX2 = $normalizedPadding['left'];
        $pictureY1 = $normalizedPadding['top'] + $height - $data[0];

        $polygon = [];
        $line = [];

        // Initialize
        $polygon[] = $normalizedPadding['left'];
        $polygon[] = $normalizedPadding['top'] + $height;
        // First element
        $polygon[] = $pictureX1;
        $polygon[] = $pictureY1;
        for ($i = 1; $i < $count; ++$i) {
            $pictureX2 = $pictureX1 + $step;
            $pictureY2 = $normalizedPadding['top'] + $height - $data[$i];

            $line[] = [$pictureX1, $pictureY1, $pictureX2, $pictureY2];

            $polygon[] = $pictureX2;
            $polygon[] = $pictureY2;

            $pictureX1 = $pictureX2;
            $pictureY1 = $pictureY2;
        }
        // Last
        $polygon[] = $pictureX2;
        $polygon[] = $normalizedPadding['top'] + $height;

        return [$polygon, $line];
    }
protected function getChartElements(array $data)
    {
        $count = count($data);
        $step = $this->getStepWidth($count);
        $height = $this->getInnerNormalizedHeight();
        $normalizedPadding = $this->getNormalizedPadding();
        $data = $this->getDataForChartElements($data, $height);

        $pictureX1 = $pictureX2 = $normalizedPadding['left'];
        $pictureY1 = $normalizedPadding['top'] + $height - $data[0];

        $polygon = [];
        $line = [];

        
        $polygon[] = $normalizedPadding['left'];
        $polygon[] = $normalizedPadding['top'] + $height;
        
        $polygon[] = $pictureX1;
        $polygon[] = $pictureY1;
        for ($i = 1; $i < $count; ++$i) {
            $pictureX2 = $pictureX1 + $step;
            $pictureY2 = $normalizedPadding['top'] + $height - $data[$i];

            $line[] = [$pictureX1, $pictureY1, $pictureX2, $pictureY2];

            $polygon[] = $pictureX2;
            $polygon[] = $pictureY2;

            $pictureX1 = $pictureX2;
            $pictureY1 = $pictureY2;
        }
        
        $polygon[] = $pictureX2;
        $polygon[] = $normalizedPadding['top'] + $height;

        return [$polygon, $line];
    }
protected function getChartElements ( array $ data ) { $ count = count ( $ data ) ; $ step = $ this -> getStepWidth ( $ count ) ; $ height = $ this -> getInnerNormalizedHeight ( ) ; $ normalizedPadding = $ this -> getNormalizedPadding ( ) ; $ data = $ this -> getDataForChartElements ( $ data , $ height ) ; $ pictureX1 = $ pictureX2 = $ normalizedPadding [ 'left' ] ; $ pictureY1 = $ normalizedPadding [ 'top' ] + $ height - $ data [ 0 ] ; $ polygon = [ ] ; $ line = [ ] ; // Initialize $ polygon [ ] = $ normalizedPadding [ 'left' ] ; $ polygon [ ] = $ normalizedPadding [ 'top' ] + $ height ; // First element $ polygon [ ] = $ pictureX1 ; $ polygon [ ] = $ pictureY1 ; for ( $ i = 1 ; $ i < $ count ; ++ $ i ) { $ pictureX2 = $ pictureX1 + $ step ; $ pictureY2 = $ normalizedPadding [ 'top' ] + $ height - $ data [ $ i ] ; $ line [ ] = [ $ pictureX1 , $ pictureY1 , $ pictureX2 , $ pictureY2 ] ; $ polygon [ ] = $ pictureX2 ; $ polygon [ ] = $ pictureY2 ; $ pictureX1 = $ pictureX2 ; $ pictureY1 = $ pictureY2 ; } // Last $ polygon [ ] = $ pictureX2 ; $ polygon [ ] = $ normalizedPadding [ 'top' ] + $ height ; return [ $ polygon , $ line ] ; }
@param array $data

@return array
@param array $data