Nodes/ComfyUI Essentials/πŸ”§ Plot Sampler Parameters
ComfyUI Node Runs on cloud

πŸ”§ Plot Sampler Parameters

Plot Sampler Parameters β€” turn a sampler XY test into a labeled grid

By cubiqΒ·Created 3 years agoΒ·Updated about a year agoΒ· 1,155
πŸ”§ Plot Sampler Parameters
  • images
  • params
  • IMAGE
β—„order_byβ–Ύβ–Ί
β—„cols_valueβ–Ύβ–Ί
β—„cols_num-1β–Ί
β—„add_promptβ–Ύβ–Ί
β—„add_paramstrueβ–Ί

If you've ever tried to compare samplers or step counts in ComfyUI and ended up with a pile of unlabeled images you can't tell apart, this node is the fix. Plot Sampler Parameters takes a batch of images that were generated across a sweep of sampler settings and lays them out into a single labeled grid - each cell annotated with the parameters that made it. It's the ComfyUI answer to Automatic1111's XY plot, built for the Essentials sampling toolkit.

What it does

It's a visualization node, so it eats data and produces one composite image. Inputs:

  • images - the batch of generated results to plot.
  • params - a SAMPLER_PARAMS input carrying the settings each image was made with. This is the key: it's not raw metadata you type, it comes from the parameter-sweep nodes in the pack that vary sampler/scheduler/steps/etc. and record what they used. Plot Parameters reads that record to label each cell correctly.
  • order_by - sort the grid by a property: time, seed, steps, denoise, sampler, scheduler, guidance, max_shift, base_shift, lora_strength, or none. Sorting by the thing you're testing makes the comparison readable.
  • cols_value - which property defines the columns (same list of choices). Set rows/columns to the two variables you're sweeping and you get a true 2D comparison.
  • cols_num - force a specific number of columns (βˆ’1 lets it decide automatically).
  • add_prompt - whether to stamp the prompt onto the plot: false, true, or excerpt (a shortened version).
  • add_params - whether to print the parameters on each cell: false, true, or "changes only" (my pick - it only labels what differs between cells, which cuts the clutter dramatically).

Output is a single IMAGE: the finished, annotated grid, ready to save.

Why it's worth it

The value of a parameter sweep is entirely in being able to read it afterward. Twenty images of the same prompt at different cfg values are useless if you can't tell which was which. Plot Parameters solves the labeling problem so you can actually make a decision - "euler at 20 steps looks as good as heun at 30, use the cheaper one." That's the kind of call this node exists to support.

Installing it

Part of ComfyUI Essentials by cubiq (Matteo Spinelli, author of ComfyUI_IPAdapter_plus):

  • ComfyUI Manager: search "ComfyUI Essentials" β†’ Install β†’ restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_essentials, install requirements.txt, restart.

Gotchas

The one that trips people: params is a SAMPLER_PARAMS object, not something you fill in by hand. This node is the display end of the pack's parameter-sweep sampler nodes - it only makes sense wired downstream of them, reading the settings they varied. If you don't have that SAMPLER_PARAMS source in your graph, Plot Parameters has nothing to label and won't do what you want. Build the sweep first, plot second.

Big grids get big. A wide sweep produces a large output image; watch your memory and consider cols_num to keep the layout sane.

Set add_params to "changes only" for readable plots - the full labels repeat the constant settings in every cell and bury the signal.

Pack note: cubiq set Essentials to maintenance-only in April 2025. It still works, but this is one of the more involved nodes, so if it breaks after a big ComfyUI update, roll ComfyUI back or patch it yourself - no upstream fixes. A red "missing node" box means the pack didn't load; check the startup log and reinstall via Manager.

Categoryessentials/sampling

Inputs (7)

NameTypeDefaultDescription
imagesIMAGEβ€”
paramsSAMPLER_PARAMSβ€”
order_byCOMBO11 options: none, time, seed, steps, denoise, sampler, +5
cols_valueCOMBO11 options: none, time, seed, steps, denoise, sampler, +5
cols_numINT-1-1–1024β€”
add_promptCOMBO3 options: false, true, excerpt
add_paramsCOMBOtrue3 options: false, true, changes only

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”