AD_sch_image_merge
Plot up to four schedule curves on one graph
- merged_graph
This is a pure debugging/visualization node, and it's built specifically to work alongside the pack's other scheduling nodes. If you've got two, three, or four numeric curves - say, an IPAdapter weight schedule from AD_sch_IPA and a mask weight schedule from AD_sch_mask_weigh - and you want to see how they line up against each other before running a full generation, this node plots them together on one color-coded graph instead of you eyeballing separate previews and trying to compare timing in your head.
How it works
Feed it two required FLOAT series and up to two more optional ones, assign each a color, and it renders all of them onto a single combined line-graph image. No generation, no side effects - it's a cheap sanity check you can wire in temporarily and pull out once you're confident the schedules are shaped right.
The inputs and outputs that matter
data1/data2(FLOAT, required) - your first two curves. This node needs at least two series to be worth using.color1/color2(enum, defaultsred/green) - pick from nine named colors (red, green, blue, yellow, orange, purple, pink, brown, gray) so each curve is visually distinct on the combined graph.data3/data4(FLOAT, optional) - add up to two more curves if you're comparing more than two schedules at once.color3/color4(optional, defaultsblue/yellow) - colors for the optional third and fourth series.
Output is a single merged_graph (IMAGE) - wire it into a Preview Image node to actually look at it.
How to install it
Via ComfyUI Manager: search "ComfyUI-Apt_Preset". Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
Then install.bat (Windows) or pip install -r requirements.txt (Linux/Mac), and restart. No downloads needed - it's a plotting utility, nothing more.
Common issues & troubleshooting
Not sure what to actually wire into data1/data2. This node expects FLOAT inputs, which most of the pack's AD_sch_* nodes don't directly expose as a raw output (they tend to output a rendered graph IMAGE or a typed stack object instead). You'll likely need whatever node in your graph is producing a raw numeric schedule as a FLOAT - check what your specific scheduling node chain actually outputs before assuming this plugs in directly to everything.
Only two colors show up even though you wired four series. Confirm data3/data4 are actually connected - they're optional, and if left empty the node presumably just renders the two required series.
Graph is hard to read with all four curves at once. That's a genuine limitation of cramming four series onto one small line graph - if the comparison is getting cluttered, it's often clearer to compare two at a time (data1/data2 only) rather than forcing all four into one view.
You just want to double-check one schedule, not compare several. If you only have one curve to inspect, this node is more than you need - most of the individual AD_sch_* nodes already render their own single-curve graph output, which is the simpler tool for that job. Reach for AD_sch_image_merge specifically when you need to compare timing between schedules.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| data1 | FLOAT | ā | |
| data2 | FLOAT | ā | |
| color1 | COMBO | red | 9 options: red, green, blue, yellow, orange, purple, +3 |
| color2 | COMBO | green | 9 options: red, green, blue, yellow, orange, purple, +3 |
| data3opt | FLOAT | ā | |
| data4opt | FLOAT | ā | |
| color3opt | COMBO | blue | 9 options: red, green, blue, yellow, orange, purple, +3 |
| color4opt | COMBO | yellow | 9 options: red, green, blue, yellow, orange, purple, +3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| merged_graph | IMAGE | ā |