def plot(self,
             resolution_constant_regions=20,
             resolution_smooth_regions=200):
        """
        Return arrays x, y for plotting the piecewise constant function.
        Just the minimum number of straight lines are returned if
        ``eps=0``, otherwise `resolution_constant_regions` plotting intervals
        are insed in the constant regions with `resolution_smooth_regions`
        plotting intervals in the smoothed regions.
        """
        if self.eps == 0:
            x = []; y = []
            for I, value in zip(self._indicator_functions, self._values):
                x.append(I.L)
                y.append(value)
                x.append(I.R)
                y.append(value)
            return x, y
        else:
            n = float(resolution_smooth_regions)/self.eps
            if len(self.data) == 1:
                return [self.L, self.R], [self._values[0], self._values[0]]
            else:
                x = [np.linspace(self.data[0][0], self.data[1][0]-self.eps,
                                 resolution_constant_regions+1)]
                # Iterate over all internal discontinuities
                for I in self._indicator_functions[1:]:
                    x.append(np.linspace(I.L-self.eps, I.L+self.eps,
                                         resolution_smooth_regions+1))
                    x.append(np.linspace(I.L+self.eps, I.R-self.eps,
                                         resolution_constant_regions+1))
                # Last part
                x.append(np.linspace(I.R-self.eps, I.R, 3))
                x = np.concatenate(x)
                y = self(x)
                return x, y
Return arrays x, y for plotting the piecewise constant function.
        Just the minimum number of straight lines are returned if
        ``eps=0``, otherwise `resolution_constant_regions` plotting intervals
        are insed in the constant regions with `resolution_smooth_regions`
        plotting intervals in the smoothed regions.