Nodes/MTB Nodes/Plot Batch Float (mtb)
ComfyUI Node Runs on cloud

Plot Batch Float (mtb)

A matplotlib chart of your float values, right in the graph

By melMass·Created 3 years ago·Updated about a month ago· 723
Plot Batch Float (mtb)
    • plot
    width768
    height768
    point_size4
    seed1
    start_at_zerofalse

    Sometimes the fastest way to debug a schedule of values - an eased curve out of Fit Number (mtb), a per-frame weight list, anything numeric moving through your graph - isn't to squint at numbers in a log, it's to see them. That's this node's whole job: it uses matplotlib to draw your FLOATS values as a scatter plot, each series in a different color, and hands you the result back as an IMAGE you can preview right in ComfyUI like any other picture.

    A quirk worth being upfront about: the node's own settings - width, height, point size, seed, whether the axis starts at zero - are exactly what's documented here, but the actual values being plotted aren't one of the named inputs listed for this node. In practice that means you wire your FLOATS source directly into the node in the graph rather than through a labeled socket this page can point you at by name. If you're building this from scratch, drop the node in, connect a FLOATS-producing node to it, and let the visible sockets on the node itself guide you - that's more reliable than any description here.

    Inputs that matter

    • width / height (both default 768) - the pixel size of the output plot image.
    • point_size (default 4) - how big each plotted point renders.
    • seed (default 1) - controls the color assignment across series, so the same seed gives you the same color-per-series mapping run to run. Useful if you're comparing plots across multiple runs and want consistent colors rather than a fresh random palette each time.
    • start_at_zero (default false) - whether the plot's axis starts at zero rather than at the data's own minimum.

    Output is a single plot IMAGE - preview it directly, or save it alongside your run for later reference.

    Where you'd use it

    Anywhere you're not sure a schedule of values is doing what you expect before you commit to a full render - sanity-checking an easing curve out of Fit Number across 120 frames, eyeballing whether a batch of per-frame weights actually looks smooth, or comparing two different interpolation_strength schedules side by side. It's a debugging tool, not something that ends up in a final output.

    Installing it

    • ComfyUI Manager - search "MTB Nodes", install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/melMass/comfy_mtb, restart. A manual clone needs pip install -r requirements.txt run inside the comfy_mtb folder first.

    This one genuinely needs matplotlib installed in your ComfyUI environment - it's a heavier dependency than most of this pack's plain-math nodes, and if matplotlib isn't present, this is a plausible candidate for one of the mtb nodes that fails to load.

    Common issues & troubleshooting

    The node doesn't show up in the node list at all. Check whether matplotlib is actually installed in your ComfyUI environment - pip install matplotlib inside the same Python environment ComfyUI is running in, then restart.

    Plot looks empty or flat. Confirm you've actually wired a FLOATS source into the node - since it's not a named, documented socket here, it's easy to forget the connection entirely while focused on the width/height/seed settings that are clearly labeled.

    Colors change between runs even with the same data. Check seed - if you didn't fix it, color assignment across series can shift run to run.

    Some mtb nodes fail to load at startup in general. Standard for this pack - check the console for [comfy_mtb] STATUS and http://127.0.0.1:8188/mtb for what didn't load and why.

    Categorymtb/batch

    Inputs (5)

    NameTypeDefaultDescription
    widthINT768
    heightINT768
    point_sizeINT4
    seedINT1
    start_at_zeroBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    plotIMAGE