plot_series — ANNOTATE plot op

• Data kinds: image2d × axes × signal × signal → image2d

• Call: import fullseye as fs; fs.ledger.plot_series(img, axes, x, y, kind='line', color='reference', width=2, marker_size=3, baseline=None, bar_width=0.7, clip=True, scheme='okabe_ito', style=None) (to call the implementation directly, import annotate; annotate.plot_series(img, axes, x, y, kind='line', color='reference', width=2, marker_size=3, baseline=None, bar_width=0.7, clip=True, scheme='okabe_ito', style=None); from the registry, opsannotate.get("plot_series"))

Usage

Draw lines, scatter or bars. Takes data coordinates (the axes decide the pixels).

Parameters

axes : dict

The return of axes_transform.

x, y : 1-D

Series of the same length. Empty is a ValueError (with an empty graph you cannot tell "there is no data"

from "forgot to draw").

kind : {'line','scatter','bar'}

baseline : float or None

Reference value for kind='bar'. If None, the lower end of ylim.

bar_width : float

Bar width (ratio to the spacing between neighbouring x, ∈ (0,1]).

clip : bool

If True, points that leave the drawing area are an exception (the clamping in imagedraw,

which silently sticks them to the edge, would draw a lying polyline).

Raises

ValueError

length mismatch / empty / non-finite / unknown kind / out of range with clip=True.

Detailed usage guide

• figure_annotation family guide

Background guides (the physics and conventions behind this op)

• dataset_conventions — Training-dataset conventions — COCO / YOLO / VOC and pitfalls in visual inspection

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• annotate_gallery — py -3.11 examples/annotate_gallery.py

• poc_camera_calibration — py -3.11 examples/poc_camera_calibration.py

• poc_camera_shake_deblur — py -3.11 examples/poc_camera_shake_deblur.py

• poc_crack_width_timeseries — py -3.11 examples/poc_crack_width_timeseries.py

• poc_dehazing — py -3.11 examples/poc_dehazing.py

• poc_dic_strain — py -3.11 examples/poc_dic_strain.py

• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

• poc_focus_stacking — py -3.11 examples/poc_focus_stacking.py

• poc_interferometry_step — py -3.11 examples/poc_interferometry_step.py

• poc_measurement_system_analysis — py -3.11 examples/poc_measurement_system_analysis.py

• poc_panorama_drift — py -3.11 examples/poc_panorama_drift.py

• poc_particle_tracking — py -3.11 examples/poc_particle_tracking.py

• poc_photoelasticity — py -3.11 examples/poc_photoelasticity.py

• poc_pxrd_phase_peel — py -3.11 examples/poc_pxrd_phase_peel.py

• poc_registration_basin — py -3.11 examples/poc_registration_basin.py

• poc_river_surface_velocity — py -3.11 examples/poc_river_surface_velocity.py

• poc_superresolution_limits — py -3.11 examples/poc_superresolution_limits.py

• poc_template_tracking — py -3.11 examples/poc_template_tracking.py

• poc_timelapse_growth — py -3.11 examples/poc_timelapse_growth.py

• poc_wound_area_tracking — py -3.11 examples/poc_wound_area_tracking.py

Ops the type connects to (they accept image2d as input)

text_box · arrow · leader_line · label_points · crosshair · legend_box · color_bar · scale_bar

Same category (plot)

axes_transform · data_to_pixel · nice_ticks · axes_frame · grid_lines · ticks


*Provenance: annotate.py — ANNOTATE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.