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.
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)
| Name | Type | Default | Description |
|---|---|---|---|
| values | NPARRAY | 1-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. | |
| chart | COMBO | bar | Mark 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. |
| title | STRING | Heading drawn above the chart. Empty draws none. | |
| x_labelsopt | STRING | Name 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_namesopt | STRING | Name 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_linesopt | STRING | Horizontal 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_byopt | COMBO | series 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. |
| orientationopt | COMBO | vertical (bars go up) | Horizontal keeps long sample names readable - the right choice when the labels are file or person names rather than indices. |
| show_valuesopt | BOOLEAN | false | Print each value next to its mark, so the chart reads without hovering (and survives being saved as a PNG). |
| value_rangeopt | COMBO | start 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_valueopt | FLOAT | 0.00-1000000000–1000000000 | Value-axis minimum ('manual' range only). |
| max_valueopt | FLOAT | 1.00-1000000000–1000000000 | Value-axis maximum ('manual' range only). |
| x_axis_nameopt | STRING | Caption under the sample axis (what the samples ARE: 'detected face', 'bin', 'method'). | |
| y_axis_nameopt | STRING | Caption beside the value axis, with units ('cosine similarity', 'pixels', 'dB'). | |
| paletteopt | COMBO | colorblind-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_paletteopt | COMBO | viridis | Ramp used by the 'value (gradient)' coloring; 'viridis' matches 'Preview CV Array' heatmaps. |
| themeopt | COMBO | dark | Chart colors. 'light' is for a PNG that will be pasted into a document. |
| decimalsopt | INT | 30–8 | Decimals shown in the tooltips and the printed values. Trailing zeros are dropped. |
| chart_heightopt | INT | 320160–2048 | Height of the chart area inside the node, in pixels. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| spec | STRING | The chart definition as JSON - the exact option the frontend renders. Wire into 'Preview as Text' to read the values that were charted. |