code: def get_value(self, i, indeps=None):
          
          if self.value is None:
              return None
  
          if i is None:
              return np.median(self.value)
  
          if indeps is None:
              indeps_all_calls = list(set(np.concatenate([common.tolist(call.i.get_value(unit=self.axes.i.unit)) for call in self.axes.calls])))
              indeps = np.linspace(np.nanmin(indeps_all_calls),
                                   np.nanmax(indeps_all_calls),
                                   len(self.value))
  
          if len(indeps) != len(self.value):
              raise ValueError("indeps and value must have same length")
  
          return np.interp(i, indeps, self.value)
docs: access the interpolated value at a give value of i (independent-variable)
  
          if indeps is not passed, then the entire range of indeps over all calls is assumed