def parallel_coordinates(<EOL>data,<EOL>class_column,<EOL>cols=None,<EOL>alpha=None,<EOL>width=<NUM_LIT>,<EOL>height=<NUM_LIT>,<EOL>interactive=True,<EOL>var_name="<STR_LIT>",<EOL>value_name="<STR_LIT:value>",<EOL>**kwds<EOL>):
if kwds:<EOL><INDENT>warnings.warn(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>".format(list(kwds.keys()))<EOL>)<EOL><DEDENT>if cols is not None:<EOL><INDENT>data = data[list(cols) + [class_column]]<EOL><DEDENT>cols = data.columns<EOL>df = data.reset_index()<EOL>index = (set(df.columns) - set(cols)).pop()<EOL>assert index in df.columns<EOL>df = df.melt([index, class_column], var_name=var_name, value_name=value_name)<EOL>chart = alt.Chart(df).properties(width=width, height=height)<EOL>chart = chart.mark_line().encode(<EOL>x=alt.X(field=var_name, type=infer_vegalite_type(df[var_name])),<EOL>y=alt.Y(field=value_name, type=infer_vegalite_type(df[value_name])),<EOL>color=alt.Color(field=class_column, type=infer_vegalite_type(df[class_column])),<EOL>detail=alt.Detail(field=index, type=infer_vegalite_type(df[index]))<EOL>)<EOL>if alpha is None and df[class_column].nunique() > <NUM_LIT:20>:<EOL><INDENT>alpha = <NUM_LIT><EOL><DEDENT>if alpha is not None:<EOL><INDENT>assert <NUM_LIT:0> <= alpha <= <NUM_LIT:1><EOL>return chart.encode(opacity=alt.value(alpha))<EOL><DEDENT>return chart<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
alpha: float, optional
    The transparency of the lines
interactive : bool, optional
    if True (default) then produce an interactive plot
width : int, optional
    the width of the plot in pixels
height : int, optional
    the height of the plot in pixels
var_name : string, optional
    the legend title
value_name : string, optional
    the y-axis label

Returns
-------
chart: alt.Chart object
    The altair representation of the plot.

See Also
--------
pandas.plotting.parallel_coordinates : matplotlib version of this routine