Skip to content

temporian.plot #

    evsets: InputEventSet,
    indexes: Optional[IndexKeyList] = None,
    features: InputFeatures = None,
    width_px: int = 1024,
    height_per_plot_px: int = 150,
    max_points: Optional[int] = None,
    min_time: Optional[duration_utils.Timestamp] = None,
    max_time: Optional[duration_utils.Timestamp] = None,
    max_num_plots: int = 20,
    style: Union[Style, str] =,
    return_fig: bool = False,
    interactive: bool = False,
    backend: Optional[str] = None,
    merge: bool = False,
    font_scale: float = 1,

Plots one or several EventSets.

If multiple EventSets are provided, they should all have the same index. The time axis (i.e., horizontal axis) is shared among all the plots. Different features can be plotted independently or on the same plots. Plotting an EventSet without features plots timestamps instead.

When plotting a single EventSet, this function is equivalent to EventSet.plot().

Feature names are used as a legend. When plotting an EventSet without features, the legend is set to be "[sampling]", or to the name of the EventSet, if set.


>>> evset = tp.event_set(timestamps=[1, 2, 4],
...     features={"f1": [0, 42, 10], "f2": [10, -10, 20]})

# Plot each feature individually
>>> tp.plot(evset)

# Plots multiple features in the same sub-plot
>>> tp.plot(evset, merge=True)

# Equivalent
>>> evset_2 = tp.event_set([5, 6])
>>> tp.plot([evset, evset_2], merge=True)
>>> tp.plot((evset, evset_2))

# Make the plot interactive
>>> tp.plot(evset, interactive=True)

# Save figure to file
>>> fig = tp.plot(evset, return_fig=True)
>>> fig.savefig("/tmp/fig.png")

# Change drawing style
>>> tp.plot(evset, style="line")


Name Type Description Default
evsets InputEventSet

Single or list of EventSets to plot. Also, tuples can be used to group multiple EventSets in the same sub-plot. Otherwise, all EventSets and features are plotted in separate sub-plots.

indexes Optional[IndexKeyList]

The index keys or list of indexes keys to plot. If indexes=None, plots all the available indexes. Indexes should be provided as single value (e.g. string) or tuple of values. Example: indexes="a", indexes=("a",), indexes=("a", "b",), indexes=["a", "b"], indexes=[("a", "b"), ("a", "c")].

features InputFeatures

Feature names of the event(s) to plot. Use 'evset.feature_names' for the list of available names. If a feature doesn't exist in an event, it's silently skipped. If None, plots all features of all events.

width_px int

Width of the figure in pixel.

height_per_plot_px int

Height of each sub-plot (one per feature) in pixel.

max_points Optional[int]

Maximum number of points to plot.

min_time Optional[Timestamp]

If set, only plot events after it.

max_time Optional[Timestamp]

If set, only plot events before it.

max_num_plots int

Maximum number of plots to display. If more plots are available, only plot the first max_num_plots ones and print a warning.

style Union[Style, str]

A Style or equivalent string like: line, marker or vline.

return_fig bool

If true, returns the figure object. The figure object depends on the backend.

interactive bool

If true, creates an interactive plotting. interactive=True effectively selects a backend that support interactive plotting. Ignored if "backend" is set.

backend Optional[str]

Plotting library to use. Possible values are: matplotlib, bokeh, and bokeh_webgl. If set, overrides the "interactive" argument.

merge bool

If true, plots all features in the same plots. If false, plots features in separate plots. merge=True on event-sets [e1, e2] is equivalent to plotting (e1, e2).

font_scale float

Scaling factor for all the fonts.