Nodes/comfyui_cv/CV Chart Series
ComfyUI Node

CV Chart Series

Interactive bar/line/area/step chart of collected numbers, drawn in the node (Apache ECharts): hover a mark to read its exact value, box-zoom, save a PNG. Use it whenever an array is a MEASUREMENT PER THING rather than a picture - one similarity score per detected face, a histogram, a metric per method - where 'Preview CV Array' would render a few pixels and normalize the absolute scale away. Feed a 1-D array for one series or (samples x series) for several. x_labels names each sample: give it the SAME ';'-separated string that labels the matching image tiles (Draw Text / RegexSplitDataList) and bar i provably refers to tile i. reference_lines draws the decision threshold the numbers are judged against.

By bmad4ever·Created 3 months ago·Updated 2 days ago· 0
CV Chart Series
  • values
  • spec
chartbar
title
x_labels
series_names
reference_lines
color_byseries color
orientationvertical (bars go up)
show_valuesfalse
value_rangestart at zero
min_value0.00
max_value1.00
x_axis_name
y_axis_name
palettecolorblind-safe (Okabe-Ito)
gradient_paletteviridis
themedark
decimals3
chart_height320
Categoryimage/CV/plots

Inputs (19)

NameTypeDefaultDescription
valuesNPARRAY1-D array (one series), or 2-D (samples x series) with one COLUMN per series. (N, 1) and (1, N) both count as one series of N samples.
chartCOMBObarMark type. 'bar' for independent measurements (one per detected object/method); 'line'/'area'/'step' when consecutive samples form a signal or a curve (histogram, score vs parameter); 'scatter' to show samples without implying continuity.
titleSTRINGHeading drawn above the chart. Empty draws none.
x_labelsoptSTRINGName per sample, as a JSON list or ';' / newline / ',' separated text (e.g. 'face 0;face 1;face 2'). Missing names fall back to '#0', '#1', ... - a short list never breaks the chart. Feed the same string that labels the corresponding images.
series_namesoptSTRINGName per series (per COLUMN of values), same formats as x_labels. Shown in the legend and the tooltip; defaults to 'series 0', 'series 1', ...
reference_linesoptSTRINGHorizontal marker lines: 'value' or 'value=label', separated like the label lists - e.g. '0.363=SFace threshold'. This is how a decision threshold becomes visible in the picture instead of living only in a widget.
color_byoptCOMBOseries color'series color' gives each series one color. 'value (gradient)' colors every mark by its own value and adds a labelled scale. 'above/below first reference line' splits the marks into two colors at the threshold - the pass/fail read, with the legend saying which side is which.
orientationoptCOMBOvertical (bars go up)Horizontal keeps long sample names readable - the right choice when the labels are file or person names rather than indices.
show_valuesoptBOOLEANfalsePrint each value next to its mark, so the chart reads without hovering (and survives being saved as a PNG).
value_rangeoptCOMBOstart at zero'auto' fits the values, which EXAGGERATES small differences; 'start at zero' keeps bar lengths proportional to the values; 'manual' pins the axis so separate runs are comparable.
min_valueoptFLOAT0.00-1000000000–1000000000Value-axis minimum ('manual' range only).
max_valueoptFLOAT1.00-1000000000–1000000000Value-axis maximum ('manual' range only).
x_axis_nameoptSTRINGCaption under the sample axis (what the samples ARE: 'detected face', 'bin', 'method').
y_axis_nameoptSTRINGCaption beside the value axis, with units ('cosine similarity', 'pixels', 'dB').
paletteoptCOMBOcolorblind-safe (Okabe-Ito)Series colors. The default stays readable for a colour-blind reader and in greyscale; 'bright' is punchier but puts a red and a green next to each other; the sampled ramps suit ORDERED series (sweep steps).
gradient_paletteoptCOMBOviridisRamp used by the 'value (gradient)' coloring; 'viridis' matches 'Preview CV Array' heatmaps.
themeoptCOMBOdarkChart colors. 'light' is for a PNG that will be pasted into a document.
decimalsoptINT30–8Decimals shown in the tooltips and the printed values. Trailing zeros are dropped.
chart_heightoptINT320160–2048Height of the chart area inside the node, in pixels.

Outputs (1)

NameTypeDescription
specSTRINGThe chart definition as JSON - the exact option the frontend renders. Wire into 'Preview as Text' to read the values that were charted.