Skip to main content
`Ctrl`+`K`

# pandas.plotting.andrews_curves

pandas.plotting.andrews_curves(frame, class_column, ax=None, samples=200, color=None, colormap=None, **kwargs)

  Generate a matplotlib plot for visualizing clusters of multivariate data.

  Andrews curves have the functional form:

  \[f(t) = \frac{x_1}{\sqrt{2}} + x_2 \sin(t) + x_3 \cos(t) + x_4 \sin(2t) + x_5 \cos(2t) + \cdots\]

  Where \(x\) coefficients correspond to the values of each dimension and \(t\) is linearly spaced between \(-\pi\) and \(+\pi\). Each row of frame then corresponds to a single curve.

  Parameters:
    frame DataFrame

      Data to be plotted, preferably normalized to (0.0, 1.0).

    class_column label

      Name of the column containing class names.

    ax axes object, default None

      Axes to use.

    samples int

      Number of points to plot in each curve.

    color str, list[str] or tuple[str], optional

      Colors to use for the different classes. Colors can be strings or 3-element floating point RGB values.

    colormap str or matplotlib colormap object, default None

      Colormap to select colors from. If a string, load colormap with that name from matplotlib.

    **kwargs

      Options to pass to matplotlib plotting method.

  Returns:
    `matplotlib.axes.Axes`

      The matplotlib Axes object with the plot.

  See also

  `plotting.parallel_coordinates`

    Plot parallel coordinates chart.

  `DataFrame.plot`

    Make plots of Series or DataFrame.

  Examples

      >>> df = pd.read_csv(
      ...     "https://raw.githubusercontent.com/pandas-dev/"
      ...     "pandas/main/pandas/tests/io/data/csv/iris.csv"
      ... )
      >>> pd.plotting.andrews_curves(df, "Name")