def _mpl_plot_xy_chunk(axs, series, low=0, high=None, color=None):
    """Do the actual plotting in chunks for ``x`` vs ``y`` data.

    Parameters
    ----------
    axs : Axes object from matplotlib
        Where to do the plotting.
    series : dict
        Represents the data to be plotted.
    low : int, optional
        Lower index to start plotting. `low` can be negative.
    high : int, optional
        Index where to end the plotting, this index is not plotted.
        `high` is assumed to always be > 0 or None.
    color : string, optional
        A string representing the color to use.

    Returns
    -------
    handle : object like `matplotlib.lines.Line2D`.
        A handle for the plotted line.
    """
    kwargs = {'linestyle': series.get('ls', '-'), 'alpha': series.get(
        'alpha', 1.0), 'linewidth': series.get('lw', 2.0)}
    if color is not None:
        kwargs['color'] = color
    else:
        try:
            kwargs['color'] = series['color']
        except KeyError:
            pass
    handle, = axs.plot(series['x'][low:high], series['y'][low:high], **kwargs)
    return handle
