class eelbrain.plot.TopoArray(y, xax=None, ds=None, sub=None, vmax=None, vmin=None, cmap=None, contours=None, ntopo=None, t=(), xlim=None, proj='default', res=None, interpolation=None, clip='even', clip_distance=0.05, head_radius=None, head_pos=0, im_interpolation=None, sensorlabels=None, mark=None, mcolor=None, axtitle=True, xlabel=True, ylabel=True, xticklabels='bottom', yticklabels='left', connectionstyle='angle3,angleA=90,angleB=0', connection_color=(0.0, 0.6, 0.5), topo_labels='above', **kwargs)

Channel by sample plots with topomaps for individual time points

  • y (Union[NDVar, str, Sequence[Union[NDVar, str]]]) – Data to plot.

  • xax (Union[Factor, Interaction, NestedEffect, str, None]) – Create a separate plot for each cell in this model.

  • ds (Optional[Dataset]) – If a Dataset is provided, data can be specified as strings.

  • sub (Union[Var, ndarray, str, None]) – Specify a subset of the data.

  • vmax (Optional[float]) – Upper limits for the colormap (default is determined from data).

  • vmin (Optional[float]) – Lower limit for the colormap (default -vmax).

  • cmap (Optional[Any]) – Colormap (default depends on the data).

  • contours (Union[int, Sequence, Dict, None]) – Contours to draw on topomaps. Can be an int (number of contours, including vmin/vmax), a sequence (values at which to draw contours), or a **kwargs dict (must contain at least the “levels” key). Default is no contours.

  • ntopo (Optional[int]) – number of topomaps per array-plot.

  • t (Sequence[float]) – Time points for topomaps.

  • 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).

  • proj (str) – The sensor projection to use for topomaps.

  • res (Optional[int]) – Resolution of the topomaps (width = height = res).

  • interpolation (Optional[Literal[None, ‘nearest’, ‘linear’, ‘spline’]]) – Method for interpolating topo-map between sensors (default is based on mne-python).

  • clip (bool | 'even' | 'circle') – Outline for clipping topomaps: ‘even’ to clip at a constant distance (default), ‘circle’ to clip using a circle.

  • clip_distance (float) – How far from sensor locations to clip (1 is the axes height/width).

  • head_radius (Union[float, Tuple[float, float], None]) – Radius of the head outline drawn over sensors (on sensor plots with normalized positions, 0.45 is the outline of the topomap); 0 to plot no outline; tuple for separate (right, anterior) radius. The default is determined automatically.

  • head_pos (Union[float, Sequence[float]]) – Head outline position along the anterior axis (0 is the center, 0.5 is the top end of the plot).

  • im_interpolation (Optional[str]) – Topomap image interpolation (see Matplotlib’s imshow()). Matplotlib 1.5.3’s SVG output can’t handle uneven aspect with interpolation='none', use interpolation='nearest' instead.

  • sensorlabels (Optional[Literal[‘’, ‘none’, ‘index’, ‘name’, ‘fullname’]]) – Show sensor labels. For ‘name’, any prefix common to all names is removed; with ‘fullname’, the full name is shown. Set to '' to hide sensor position markers completely.

  • mark (Sensor index) – Sensors which to mark.

  • mcolor (matplotlib color) – Color for marked sensors.

  • axtitle (Union[bool, Sequence[str]]) – Title for the individual axes. The default is to show the names of the epochs, but only if multiple axes are plotted.

  • xlabel (Union[bool, str]) – X-axis label. By default the label is inferred from the data.

  • ylabel (Union[bool, str]) – Y-axis label. By default the label is inferred from the data.

  • xticklabels (Union[str, int, Sequence[int]]) – Specify which axes should be annotated with x-axis tick labels. Use int for a single axis, a sequence of int for multiple specific axes, or one of 'left' | 'bottom' | 'all' | 'none'.

  • yticklabels (Union[str, int, Sequence[int]]) – Specify which axes should be annotated with y-axis tick labels. Use int for a single axis, a sequence of int for multiple specific axes, or one of 'left' | 'bottom' | 'all' | 'none'.

  • connectionstyle (str) – Style for the connections between the image array-plot and the topo-maps. Set to '' for straight connections. See Matplotlib demo.

  • connection_color (Any) – Color for connection line.

  • topo_labels (Literal[‘above’, ‘below’, ‘none’]) – Where to label time on topo-maps.

  • ... – Also accepts General layout parameters.


  • LMB click on a topomap selects it for tracking the mouse pointer
    • LMB on the array plot fixates the topomap time point

  • RMB on a topomap removes the topomap


add_contour(level[, color, meas])

Add a contour line

add_hline(y[, axes])

Draw a horizontal line on one or more axes

add_hspan(bottom, top[, axes])

Draw a horizontal bar on one or more axes

add_vline(x[, axes])

Draw a vertical line on one or more axes

add_vspan(xmin, xmax[, axes])

Draw a vertical bar on one or more axes

add_vspans(intervals[, axes])

Draw vertical bars over axes


Close the figure.


(Re-)draw the figure (after making manual changes).


Draw crosshairs under the cursor


Draw the outline of the figure


Retrieve colormap value limits as (vmin, vmax) tuple


image([name, format, close])

Create FMTXT Image from the figure

plot_colorbar([label, label_position, ...])

Plot a colorbar corresponding to the displayed data

save(*args, **kwargs)

Short-cut for Matplotlib's savefig()

set_cmap(cmap[, meas])

Change the colormap


Set the figure window title

set_topo_t(topo_id, t)

Set the time point for a topo-map (same for all array plots)

set_topo_t_single(topo_id, t)

Set the time for a single topomap.


Set the time points displayed in topo-maps across all array-plots

set_vlim([v, vmax, meas])

Change the colormap limits

set_xlabel(label[, ax])

Set the label for the x-axis

set_xlim([left, right])

Set the x-axis limits for all axes


Rotate every x-axis tick-label by an angle (counterclockwise, in degrees)

set_ylabel(label[, ax])

Set the label for the y-axis