code: def _fill(self, values):
          
          zero = self.view.y(min(max(self.zero, self._box.ymin), self._box.ymax))
  
          # Check to see if the data has been padded with "none's"
          # Fill doesn't work correctly otherwise
          end = len(values) - 1
          while end > 0:
              x, y = values[end]
              if self.missing_value_fill_truncation == "either":
                  if x is not None and y is not None:
                      break
              elif self.missing_value_fill_truncation == "x":
                  if x is not None:
                      break
              elif self.missing_value_fill_truncation == "y":
                  if y is not None:
                      break
              else:
                  raise ValueError(
                      "Invalid value ({}) for config key "
                      "'missing_value_fill_truncation';"
                      " Use 'x', 'y' or 'either'".format(
                          self.missing_value_fill_truncation
                      )
                  )
              end -= 1
  
          return ([(values[0][0], zero)] + values + [(values[end][0], zero)])
docs: Add extra values to fill the line