Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:


import numpy as np


#copied/moved from sandbox/tsa/example_arma.py
def plotacf(ax, corr, lags=None, usevlines=True, **kwargs):
    """
    Plot the auto or cross correlation.
    lags on horizontal and correlations on vertical axis

    Note: adjusted from matplotlib's pltxcorr

    Parameters
    ----------
    ax : matplotlib axis or plt
        ax can be matplotlib.pyplot or an axis of a figure
    lags : array or None
        array of lags used on horizontal axis,
        if None, then np.arange(len(corr)) is used
    corr : array
        array of values used on vertical axis
    usevlines : boolean
        If true, then vertical lines and markers are plotted. If false,
        only 'o' markers are plotted
    **kwargs : optional parameters for plot and axhline
        these are directly passed on to the matplotlib functions

    Returns
    -------
    a : matplotlib.pyplot.plot
        contains markers
    b : matplotlib.collections.LineCollection
        returned only if vlines is true, contains vlines
    c : instance of matplotlib.lines.Line2D
        returned only if vlines is true, contains axhline ???

    Data are plotted as ``plot(lags, c, **kwargs)``

    The default *linestyle* is *None* and the default *marker* is
    'o', though these can be overridden with keyword args.

    If *usevlines* is *True*:

       :func:`~matplotlib.pyplot.vlines`
       rather than :func:`~matplotlib.pyplot.plot` is used to draw
       vertical lines from the origin to the xcorr.  Otherwise the
       plotstyle is determined by the kwargs, which are
       :class:`~matplotlib.lines.Line2D` properties.

    See Also
    --------

    :func:`~matplotlib.pyplot.xcorr`
    :func:`~matplotlib.pyplot.acorr`
    mpl_examples/pylab_examples/xcorr_demo.py

    """

    if lags is None:
        lags = np.arange(len(corr))
    else:
        if len(lags) != len(corr):
            raise ValueError('lags and corr must be equal length')

    if usevlines:
        b = ax.vlines(lags, [0], corr, **kwargs)
        c = ax.axhline(**kwargs)
        kwargs.setdefault('marker', 'o')
        kwargs.setdefault('linestyle', 'None')
        a = ax.plot(lags, corr, **kwargs)
    else:
        kwargs.setdefault('marker', 'o')
        kwargs.setdefault('linestyle', 'None')
        a, = ax.plot(lags, corr, **kwargs)
        b = c = None
    return a, b, c