pynaviz.base_plot#
Simple plotting class for each pynapple object. Create a unique canvas/renderer for each class
Classes
|
A visualization of a set of non-overlapping epochs ( |
|
Visualization for pynapple timestamps object ( |
|
Visualization for plotting multiple spike trains ( |
|
Visualization for 1-dimensional pynapple time series object ( |
|
Visualization of a multi-column pynapple time series ( |
- class pynaviz.base_plot.PlotIntervalSet(data, index=None, parent=None, background='black')[source]#
Bases:
_BasePlotA visualization of a set of non-overlapping epochs (
nap.IntervalSet).This class allows dynamic rendering of each interval in a nap.IntervalSet, with interactive controls for span navigation. It supports coloring, grouping, and sorting of intervals based on metadata.
- Parameters:
- controller#
Active interactive controller for zooming or selecting.
- Type:
SpanController
- graphic#
Dictionary of rectangle meshes for each interval.
- Type:
dict[str,gfx.Mesh]orgfx.Mesh
- get_plot_state()[source]#
Return interval visibility as a JSON-serializable list.
- Returns:
{"visible": [bool, …]}ordered by manager index.- Return type:
- group_by(metadata_name, **kwargs)[source]#
Group the intervals vertically by a metadata field.
- Parameters:
metadata_name (
str) – Metadata key to group by.
- set_plot_state(state, available_vars=None)[source]#
Restore interval visibility.
- Parameters:
state (
dict) – Value produced byget_plot_state().available_vars (
dict, optional) – Unused.
- class pynaviz.base_plot.PlotTs(data, index=None, parent=None, background='black')[source]#
Bases:
_BasePlotVisualization for pynapple timestamps object (
nap.Ts) as vertical tick marks.- Parameters:
data (
nap.Ts) – A Pynapple Ts object containing spike timestamps to visualize.index (
Optional[int], defaultNone) – Controller index used for synchronized interaction (e.g., panning across multiple plots).parent (
Optional[Any], defaultNone) – Optional parent widget (e.g., in a Qt context).background (str | None)
- class pynaviz.base_plot.PlotTsGroup(data, index=None, parent=None, background='black')[source]#
Bases:
_BasePlotVisualization for plotting multiple spike trains (
nap.TsGroup) as a raster plot.Each unit in the group is displayed as a row, where spike times are rendered as point markers (vertical ticks). Units can be sorted or grouped based on metadata. A SpanController is used to synchronize view ranges across plots.
- Parameters:
- get_plot_state()[source]#
Return spike marker sizes and visibility keyed by neuron ID.
- Returns:
{"scale": {neuron_id: size, …}, "visible": [bool, …]}.- Return type:
- group_by(metadata_name, **kwargs)[source]#
Group the raster vertically by a metadata field.
- Parameters:
metadata_name (
str) – Metadata key to group by.
- set_plot_state(state, available_vars=None)[source]#
Restore spike marker sizes and visibility.
- Parameters:
state (
dict) – Value produced byget_plot_state(). Integer neuron-ID keys are recovered from their JSON string representation.available_vars (
dict, optional) – Unused, dict of available variables.
- class pynaviz.base_plot.PlotTsd(data, index=None, parent=None, background='black')[source]#
Bases:
_BasePlotVisualization for 1-dimensional pynapple time series object (
nap.Tsd)This class renders a continuous 1D time series as a line plot and manages user interaction through a SpanController. It supports optional synchronization across multiple plots and rendering via WebGPU.
- Parameters:
data (
nap.Tsd) – The time series data to be visualized (timestamps + values).index (
Optional[int], defaultNone) – Controller index used for synchronized interaction (e.g., panning across multiple plots).parent (
Optional[Any], defaultNone) – Optional parent widget (e.g., in a Qt context).background (str | None)
- controller#
Manages viewport updates, syncing, and linked plot interactions.
- Type:
SpanController
- line#
The main line plot showing the time series.
- Type:
gfx.Line
- class pynaviz.base_plot.PlotTsdFrame(data, index=None, parent=None, window_size=None, display_mode='lines', background='black')[source]#
Bases:
_BasePlotVisualization of a multi-column pynapple time series (
nap.TsdFrame).Supports three display modes toggled at runtime:
lines (default): each column rendered as a line with vertex colors.
image: all columns as a heatmap texture.
x_vs_y: one column plotted against another with a time marker.
- Parameters:
data (
nap.TsdFrame) – The column-based time series data.index (
int, optional) – Controller ID for synchronizing with other plots.parent (optional) – GUI parent widget (e.g. QWidget).
window_size (
float, optional) – Streaming window duration in seconds. If None, computed to fit up to 256 MB of memory.display_mode (
str, default"lines") – Initial display mode (“lines” or “image”). Toggle with the “m” key.background (
strortuple, optional) – Background color (e.g."white","black","#272822").
- color_by(metadata_name, cmap_name='viridis', vmin=0.0, vmax=100.0)[source]#
Apply color mapping to channels based on a metadata field.
- get_plot_state()[source]#
Return the current display mode and its serializable state.
- Returns:
{"mode": str, "mode_state": ...}wheremode_stateis whatever the active mode’sget_state()returns.- Return type:
- property graphic#
The active pygfx graphic, delegated to the current display mode.
- group_by(metadata_name, **kwargs)[source]#
Group channels vertically by a metadata field.
- Parameters:
metadata_name (
str) – Metadata key to group by.
- plot_x_vs_y(x_col, y_col, color=None, thickness=1.0, markersize=10.0)[source]#
Plot one column versus another with a time-point marker.
- set_plot_state(state, available_vars=None)[source]#
Restore display mode and mode-specific state.
- Parameters:
state (
dictorNone) – Value produced byget_plot_state().**available_vars – Unused, no extra argument needed.
- Return type:
None