Nodes/ComfyUI Easy Use/XY Plot Advanced
ComfyUI Node Runs on cloud

XY Plot Advanced

Build a proper comparison grid over two variables

By yolain·Created 3 years ago·Updated 8 days ago· 2,633
XY Plot Advanced
  • pipe
  • X
  • Y
  • pipe
grid_spacing0
output_individualsFalse
flip_xyFalse
font

When you want to see how a setting actually changes your output - steps across the top, CFG down the side, one labeled image in every cell - this is the node that renders it. easy XYPlotAdvanced takes an Easy-Use pipe and two axis definitions and produces a grid, sweeping both variables and stitching the results into a single comparison sheet. It's the ComfyUI answer to A1111's X/Y plot, and it's the fastest way to stop guessing which sampler or CFG you should be on.

How it works

The grid is driven by two things: the pipe (which carries your model, conditioning, latent and sampling context) and the X and Y inputs, which come from the easy XYInputs: family of nodes - Seeds++ Batch, CFG, Steps, Sampler/Scheduler, Checkpoint, LoRA, and so on. Each XYInputs node defines what one axis varies. Plug one into X, another into Y, and XYPlotAdvanced re-runs the sampler for every cell in the resulting matrix, then assembles the labeled grid. The node passes a pipe onward, so it sits in the flow between your pre-sampling setup and the sampler that renders the plot.

The "Advanced" version is the one that got the ongoing XYPlot improvements, and it's the one to use over the basic variant if you want control over layout and per-cell output.

The inputs and outputs that matter

  • X and Y (optional) - the axis definitions, each from an XYInputs node. You can leave one empty for a single-axis sweep.
  • grid_spacing - pixels of padding between cells. Bump it up if your labels are colliding.
  • output_individuals - set True to also save each cell as its own image, not just the assembled grid. Handy when you find the winning cell and want it at full res.
  • flip_xy - swaps which variable runs horizontal vs vertical, without you having to rewire the two XYInputs nodes.
  • font (optional) - the label font for the grid.

The single output is a pipe, which you feed into your Easy-Use sampler (easy fullkSampler or a kSampler) to actually render the plot.

Installing it

Comes with the pack. Install via ComfyUI Manager (search ComfyUI Easy Use) or:

cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use

Install requirements, restart. No extra models needed - this is pure orchestration.

Where people get stuck

The number-one confusion is that this node doesn't define what varies - the XYInputs nodes do. If your grid comes out empty or one-dimensional, it's because nothing is plugged into X/Y, or you wired a plain value where an X_Y axis definition belongs. Grab the matching easy XYInputs: node for the thing you want to sweep and connect it.

The other one is scale. A grid is a full sampling pass per cell: a 5×5 plot is 25 renders. That's the point - but it's also real GPU time, so start with small axes (3×3) to confirm your setup before you fan it out to a 10×10 that takes forever. And if you're plotting seeds specifically, use easy XYInputs: Seeds++ Batch for the axis rather than hand-listing seed values.

CategoryEasyUse/Pipe

Inputs (7)

NameTypeDefaultDescription
pipePIPE_LINE
grid_spacingINT00–500
output_individualsCOMBOFalse2 options: False, True
flip_xyCOMBOFalse2 options: False, True
XoptX_Y
YoptX_Y
fontoptCOMBO1 options: None

Outputs (1)

NameTypeDescription
pipePIPE_LINE