VALUE GRAPH (JOV) π
The node that graphs any value over time
- πΌοΈ
VALUE GRAPH (JOV) is a tiny honesty machine: wire any number into it, run your workflow a few times, and it draws you a line chart of how that value has been behaving. It's the node you add when you're animating something with a WAVE GEN or TICK and you want to actually see whether the curve you built is smooth or spiking, instead of guessing from the output video. It also earns its keep for debugging - feed it a CFG, a denoise, a seed or a mask percentage and the graph tells you instantly if something is oscillating when it shouldn't.
How it works
The node keeps a rolling history on itself. Every time the workflow executes, it appends whatever value you've wired into its dynamic input (it accepts any type - floats, ints, even vectors get split into their channels) to an in-memory list. Then it plots that history with matplotlib and hands you the result as an IMAGE. Because it's marked as an output node, it runs and displays on the canvas even in the middle of a pipeline, and you can save the graph like any other image if you want to keep a record.
The clever bit is that it graphs across executions, not within one run. So it's built for the animation workflow: leave it connected while you render a sequence of queue items, and you get a live readout of how your parameter moved over the whole batch.
The three inputs
That's all there is to it - three toggles:
- Hold (β) - freezes the history so new runs don't add points. Handy when you've got a nice baseline and want to compare against it.
- RESET - clears the history and starts the graph from scratch.
- Count (#οΈβ£) - how many recent values to keep and display (default 500). Crank it down to see just the last few runs; leave it high for a long sweep.
One output: IMAGE (πΌοΈ). Wire it into a preview or a save node.
A naming note
ComfyUI's registry lists this as "VALUE GRAPH (JOV)"; in current Jovimetrix releases you may see it labeled "GRAPH (JOV) π". Same node, same job. If your search bar only shows one of those, that's the one you want.
Install and gotchas
It ships inside Jovimetrix, so it comes with the pack: git clone https://github.com/Amorano/Jovimetrix.git into ComfyUI/custom_nodes, then pip install -r requirements.txt (Windows portable: .\python_embed\python.exe -s -m pip install -r requirements.txt), or just search "Jovimetrix" in ComfyUI Manager. No model downloads. The matplotlib dependency is why the pack is on the heavier side, but it's a one-time install.
Two things trip people up. First, the graph only accumulates while the node stays alive - if you close and reopen the workflow, the history starts over. That's expected, not a bug. Second, because it plots in addition to whatever your main output node produces, it fires on every queue run; that's exactly what you want for animation, but it means the graph genuinely shows history only if you keep queuing runs, not if you sit idle. Beyond that there's not much to break - which is the appeal.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| βπ½opt | BOOLEAN | false | β |
| RESETopt | BOOLEAN | false | β |
| #οΈβ£opt | INT | 500 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| πΌοΈ | IMAGE | β |