class eelbrain.plot.UTSStat(y, x=None, xax=None, match=None, sub=None, ds=None, main=<function mean>, error='sem', pool_error=None, legend='upper right', labels=None, axtitle=True, xlabel=True, ylabel=True, xticklabels='bottom', invy=False, bottom=None, top=None, hline=None, xdim='time', xlim=None, clip=None, color='b', colors=None, error_alpha=0.3, clusters=None, pmax=0.05, ptrend=0.1, *args, **kwargs)

Plot statistics for a one-dimensional NDVar

y : 1d-NDVar

Dependent variable (one-dimensional NDVar).

x : categorial or None

Model: specification of conditions which should be plotted separately.

xax : None | categorial

Make separate axes for each category in this categorial model.

match : Factor

Identifier for repeated measures data.

sub : None | index array

Only use a subset of the data provided.

ds : None | Dataset

If a Dataset is specified, all data-objects can be specified as names of Dataset variables.

main : func | None

Measure for the central tendency (function that takes an axis argument). The default is numpy.mean.

error : None | str

Measure of variability to plot (default: 1 SEM). Examples: ‘ci’: 95% confidence interval; ‘99%ci’: 99% confidence interval (default); ‘2sem’: 2 standard error of the mean; ‘all’: plot all traces.

pool_error : bool

Pool the errors for the estimate of variability (default is True for related measures designs, False otherwise). See Loftus & Masson (1994).

legend : str | int | ‘fig’ | None

Matplotlib figure legend location argument or ‘fig’ to plot the legend in a separate figure.

labels : dict

Alternative labels for legend as {cell: label} dictionary (preserves order).

axtitle : bool | sequence of str

Title for the individual axes. The default is to show the names of the epochs, but only if multiple axes are plotted.

xlabel : bool | str

X-axis label. By default the label is inferred from the data.

ylabel : bool | str

Y-axis label. By default the label is inferred from the data.

xticklabels : bool | int | list of int

Specify which axes should be annotated with x-axis tick labels. Use int for a single axis (default -1), a sequence of int for multiple specific axes, or bool for all/none.

invy : bool

Invert the y axis (if bottom and/or top are specified explicitly they take precedence; an inverted y-axis can also be produced by specifying bottom > top).

bottom, top | None | scalar

Set an absolute range for the plot’s y axis.

hline : None | scalar | (value, kwarg-dict) tuple

Add a horizontal line to each plot. If provided as a tuple, the second element can include any keyword arguments that should be submitted to the call to matplotlib axhline call.

xdim : str

dimension for the x-axis (default is ‘time’)

xlim : scalar | (scalar, scalar)

Initial x-axis view limits as (left, right) tuple or as length scalar (default is the full x-axis in the data).

clip : bool

Clip lines outside of axes (the default depends on whether frame is closed or open).

color : matplotlib color

Color if just a single category of data is plotted.

colors : str | list | dict

Colors for the plots if multiple categories of data are plotted. str: A colormap name; Cells of x are mapped onto the colormap in regular intervals. list: A list of colors in the same sequence as x.cells. dict: A dictionary mapping each cell in x to a color. Colors are specified as matplotlib compatible color arguments.

error_alpha : float

Alpha of the error plot (default 0.3).

clusters : None | Dataset

Clusters to add to the plots. The clusters should be provided as Dataset, as stored in test results’ clusters.

pmax : scalar

Maximum p-value of clusters to plot as solid.

ptrend : scalar

Maximum p-value of clusters to plot as trend.

tight : bool

Use matplotlib’s tight_layout to expand all axes to fill the figure (default True)

title : str | None

Figure title.

Also accepts General layout parameters.


  • : scroll up
  • : scroll down
  • r: y-axis zoom in (reduce y-axis range)
  • c: y-axis zoom out (increase y-axis range)


add_hline(self, y[, axes]) Draw a horizontal line on one or more axes
add_hspan(self, bottom, top[, axes]) Draw a horizontal bar on one or more axes
add_vline(self, x[, axes]) Draw a vertical line on one or more axes
add_vspan(self, xmin, xmax[, axes]) Draw a vertical bar on one or more axes
add_vspans(self, intervals[, axes]) Draw vertical bars over axes
close(self) Close the figure.
draw(self) (Re-)draw the figure (after making manual changes).
draw_crosshairs(self[, enable]) Draw crosshairs under the cursor
image(self[, name, format]) Create FMTXT Image from the figure
plot_legend(self[, loc, labels]) Plot the legend (or remove it from the figure).
save(self, *args, **kwargs) Short-cut for Matplotlib’s savefig()
save_legend(self, *args, **kwargs) Save the legend as image file
set_clusters(self, clusters[, pmax, ptrend, …]) Add clusters from a cluster test to the plot (as shaded area).
set_name(self, name) Set the figure window title
set_xlabel(self, label[, ax]) Set the label for the x-axis
set_xlim(self[, left, right]) Set the x-axis limits for all axes
set_xtick_rotation(self, rotation) Rotate every x-axis tick-label by an angle (counterclockwise, in degrees)
set_ylabel(self, label[, ax]) Set the label for the y-axis
set_ylim(self[, bottom, top]) Set the y-axis limits