ComfyUI Node

Graph Sigmas

Graph Sigmas Makes Schedules Visible

By crom8505·Created 5 months ago·Updated 5 months ago· 11
Graph Sigmas
  • sigma_1
  • IMAGE_1
input_count1
black_themetrue

Here's a frustrating ComfyUI moment: someone shares a workflow, you peek at the KSampler, and it says sigmas is connected - but to what, and what does that curve actually look like? Schedules are just a list of numbers hiding behind a wire, and you can't tell by looking whether one is Karras-shaped or a flat line. Graph Sigmas is the answer: you feed it a SIGMAS schedule and it renders the curve as an image, right in your graph, no extra tools. It's the "show your work" node of the crom8505/ComfyUI-Dynamic-Sigmas pack - a small utility that pairs with its sibling Dynamic Sigma Scheduler but works with any schedule you can find.

How it works

The mechanism is delightfully simple. It's a Python node that takes each incoming SIGMAS tensor and plots it with matplotlib: step number on the x-axis, sigma value on the y-axis, points marked and the area under the line filled in. Then it exports that plot as a PNG and hands it back as an IMAGE tensor - so the picture appears as a normal image output you can preview or even save.

That's the whole trick, and it's a good one: nothing leaves your machine, no browser widgets, and it renders identically whether you're in the UI or hitting the API.

The inputs that matter

The required inputs are just two: input_count (how many schedules you want to view at once) and black_theme (dark graph, default on, which matches the pack's other nodes). The interesting one is input_count - bump it from 1 to 3 and you get sigma_1, sigma_2, sigma_3 sockets to wire up, and one output image per input, named IMAGE_1 through IMAGE_N.

That's the killer use case: wire the sigmas output of a KSampler and, say, a Dynamic Sigma Scheduler into two inputs, and you get side-by-side pictures of both curves. Compare the stock scheduler against your hand-drawn one without generating a single image. Leave a socket empty and it renders a blank placeholder, so comparing 2 versus 3 schedules is just a matter of the count.

Why you'd bother

Mostly, this node exists to build intuition. If you've never seen what "beta" or "simple" actually does to a sigma curve on your model, Graph Sigmas shows you at a glance - and on flow-matching models (Flux, Z-Image, Wan, LTX) that matters, because the community consensus is that aggressive curve reshaping makes those models worse, not better. Seeing that Karras is a cliff in the middle of the trajectory makes the "why" click instantly. It's also a great sanity check that a downloaded workflow's custom schedule is what its author claims it is.

Honestly, this is a node you'll reach for while learning and debugging, not one you'll leave in every workflow. It produces an image with zero generative effort - cheap to add, cheap to remove.

Install

Same pack, same steps as its sibling. ComfyUI Manager: search ComfyUI-Dynamic-Sigmas → Install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/crom8505/ComfyUI-Dynamic-Sigmas.git
cd ComfyUI-Dynamic-Sigmas
pip install -r requirements.txt   # matplotlib is the only dependency

Restart ComfyUI. No models to download, nothing heavy - the entire dependency footprint of the pack is matplotlib.

Gotchas

  • The output is an IMAGE, not a preview-only widget. That means it shows up as an image output, which is actually convenient for saving, but remember it's also a real tensor flowing through your graph - a 6x4-inch plot converted to pixels. It won't break anything, but don't wire it anywhere expecting it to be a mask.
  • Missing inputs render blank. The source produces a small black placeholder for any socket you don't connect. It's a feature (stable output shapes), but if you see a black square you forgot to plug in a schedule.
  • The pack's own scheduler is the intended partner. Graph Sigmas will happily plot a plain KSampler's sigmas, but the pairing that makes the whole pack worth it is drawing a curve in Dynamic Sigma Scheduler and checking it here - instant visual feedback on what you drew. Worth installing the pack for both, even if you only open one today.
Categorysampling/custom_math

Inputs (3)

NameTypeDefaultDescription
input_countINT11–100
black_themeBOOLEANtrue
sigma_1optSIGMAS

Outputs (1)

NameTypeDescription
IMAGE_1IMAGE