code: 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];
      }
docs: @param array $data
  
  @return array