gemseo / post / dataset

andrews_curves module

Draw Andrews curves from a Dataset.

The AndrewsCurves class implements the Andrew plot, a.k.a. Andrews curves, which is a way to visualize \(n\) samples of a high-dimensional vector

\[x=(x_1,x_2,\ldots,x_d)\in\mathbb{R}^d\]

in a 2D referential by projecting each sample

\[x^{(i)}=(x_1^{(i)},x_2^{(i)},\ldots,x_d^{(i)})\]

onto the vector

\[\left(\frac{1}{\sqrt{2}},\sin(t),\cos(t),\sin(2t),\cos(2t), \ldots\right)\]

which is composed of the \(d\) first elements of the Fourier series:

\[f_i(t)=\left(\frac{x_1^{(i)}}{\sqrt{2}},x_2^{(i)}\sin(t),x_3^{(i)}\cos(t), x_4^{(i)}\sin(2t),x_5^{(i)}\cos(2t),\ldots\right)\]

Each curve \(t\mapsto f_i(t)\) is plotted over the interval \([-\pi,\pi]\) and structure in the data may be visible in these \(n\) Andrews curves.

A variable name can be passed to the DatasetPlot.execute() method by means of the classifier keyword in order to color the curves according to the value of the variable name. This is useful when the data is labeled.

class gemseo.post.dataset.andrews_curves.AndrewsCurves(dataset, classifier)[source]

Bases: gemseo.post.dataset.dataset_plot.DatasetPlot

Andrews curves.

Parameters
Raises

ValueError – If the dataset is empty.

Return type

None

execute(save=True, show=False, file_path=None, directory_path=None, file_name=None, file_format=None, properties=None, fig=None, axes=None, **plot_options)

Execute the post processing.

Parameters
  • save (bool) –

    If True, save the plot.

    By default it is set to True.

  • show (bool) –

    If True, display the plot.

    By default it is set to False.

  • file_path (str | Path | None) –

    The path of the file to save the figures. If None, create a file path from directory_path, file_name and file_format.

    By default it is set to None.

  • directory_path (str | Path | None) –

    The path of the directory to save the figures. If None, use the current working directory.

    By default it is set to None.

  • file_name (str | None) –

    The name of the file to save the figures. If None, use a default one generated by the post-processing.

    By default it is set to None.

  • file_format (str | None) –

    A file format, e.g. ‘png’, ‘pdf’, ‘svg’, … If None, use a default file extension.

    By default it is set to None.

  • properties (Mapping[str, DatasetPlotPropertyType] | None) –

    The general properties of a DatasetPlot.

    By default it is set to None.

  • fig (None | Figure) –

    The figure to plot the data. If None, create a new one.

    By default it is set to None.

  • axes (None | Axes) –

    The axes to plot the data. If None, create new ones.

    By default it is set to None.

  • **plot_options – The options of the current class inheriting from DatasetPlot.

Returns

The figures.

Raises

AttributeError – When the name of a property is not the name of an attribute.

Return type

list[Figure]

color: str | list[str]

The color(s) for the series.

If empty, use a default one.

colormap: str

The color map.

dataset: Dataset

The dataset to be plotted.

fig_size: tuple[float, float]

The figure size.

property fig_size_x: float

The x-component of figure size.

property fig_size_y: float

The y-component of figure size.

font_size: int

The font size.

property labels: Mapping[str, str]

The labels of the variables.

legend_location: str

The location of the legend.

linestyle: str | list[str]

The line style(s) for the series.

If empty, use a default one.

marker: str | list[str]

The marker(s) for the series.

If empty, use a default one.

property output_files: list[str]

The paths to the output files.

title: str

The title of the plot.

xlabel: str

The label for the x-axis.

xmax: float | None

The maximum value on the x-axis.”

If None, compute it from data.

xmin: float | None

The minimum value on the x-axis.

If None, compute it from data.

ylabel: str

The label for the y-axis.

ymax: float | None

The maximum value on the y-axis.

If None, compute it from data.

ymin: float | None

The minimum value on the y-axis.

If None, compute it from data.

zlabel: str

The label for the z-axis.

zmax: float | None

The maximum value on the z-axis.

If None, compute it from data.

zmin: float | None

The minimum value on the z-axis.

If None, compute it from data.