@deprecate_kwarg(old_arg_name='<STR_LIT>', new_arg_name='<STR_LIT>')<EOL>@deprecate_kwarg(old_arg_name='<STR_LIT:data>', new_arg_name='<STR_LIT>', stacklevel=<NUM_LIT:3>)<EOL>def parallel_coordinates(frame, class_column, cols=None, ax=None, color=None,<EOL>use_columns=False, xticks=None, colormap=None,<EOL>axvlines=True, axvlines_kwds=None, sort_labels=False,<EOL>**kwds):
if axvlines_kwds is None:<EOL><INDENT>axvlines_kwds = {'<STR_LIT>': <NUM_LIT:1>, '<STR_LIT>': '<STR_LIT>'}<EOL><DEDENT>import matplotlib.pyplot as plt<EOL>n = len(frame)<EOL>classes = frame[class_column].drop_duplicates()<EOL>class_col = frame[class_column]<EOL>if cols is None:<EOL><INDENT>df = frame.drop(class_column, axis=<NUM_LIT:1>)<EOL><DEDENT>else:<EOL><INDENT>df = frame[cols]<EOL><DEDENT>used_legends = set()<EOL>ncols = len(df.columns)<EOL>if use_columns is True:<EOL><INDENT>if not np.all(np.isreal(list(df.columns))):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>x = df.columns<EOL><DEDENT>elif xticks is not None:<EOL><INDENT>if not np.all(np.isreal(xticks)):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>elif len(xticks) != ncols:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>x = xticks<EOL><DEDENT>else:<EOL><INDENT>x = lrange(ncols)<EOL><DEDENT>if ax is None:<EOL><INDENT>ax = plt.gca()<EOL><DEDENT>color_values = _get_standard_colors(num_colors=len(classes),<EOL>colormap=colormap, color_type='<STR_LIT>',<EOL>color=color)<EOL>if sort_labels:<EOL><INDENT>classes = sorted(classes)<EOL>color_values = sorted(color_values)<EOL><DEDENT>colors = dict(zip(classes, color_values))<EOL>for i in range(n):<EOL><INDENT>y = df.iloc[i].values<EOL>kls = class_col.iat[i]<EOL>label = pprint_thing(kls)<EOL>if label not in used_legends:<EOL><INDENT>used_legends.add(label)<EOL>ax.plot(x, y, color=colors[kls], label=label, **kwds)<EOL><DEDENT>else:<EOL><INDENT>ax.plot(x, y, color=colors[kls], **kwds)<EOL><DEDENT><DEDENT>if axvlines:<EOL><INDENT>for i in x:<EOL><INDENT>ax.axvline(i, **axvlines_kwds)<EOL><DEDENT><DEDENT>ax.set_xticks(x)<EOL>ax.set_xticklabels(df.columns)<EOL>ax.set_xlim(x[<NUM_LIT:0>], x[-<NUM_LIT:1>])<EOL>ax.legend(loc='<STR_LIT>')<EOL>ax.grid()<EOL>return ax<EOL>
Parallel coordinates plotting.

    Parameters
    ----------
    frame : DataFrame
    class_column : str
        Column name containing class names
    cols : list, optional
        A list of column names to use
    ax : matplotlib.axis, optional
        matplotlib axis object
    color : list or tuple, optional
        Colors to use for the different classes
    use_columns : bool, optional
        If true, columns will be used as xticks
    xticks : list or tuple, optional
        A list of values to use for xticks
    colormap : str or matplotlib colormap, default None
        Colormap to use for line colors.
    axvlines : bool, optional
        If true, vertical lines will be added at each xtick
    axvlines_kwds : keywords, optional
        Options to be passed to axvline method for vertical lines
    sort_labels : bool, False
        Sort class_column labels, useful when assigning colors

        .. versionadded:: 0.20.0

    kwds : keywords
        Options to pass to matplotlib plotting method

    Returns
    -------
    class:`matplotlib.axis.Axes`

    Examples
    --------
    >>> from matplotlib import pyplot as plt
    >>> df = pd.read_csv('https://raw.github.com/pandas-dev/pandas/master'
                        '/pandas/tests/data/iris.csv')
    >>> pd.plotting.parallel_coordinates(
            df, 'Name',
            color=('#556270', '#4ECDC4', '#C7F464'))
    >>> plt.show()