ComfyUI Node

Numpy Show

See what's actually in that array before it breaks your workflow

By HowToSD·Created 2 years ago·Updated about a year ago· 23
Numpy Show
  • ndarray
  • STRING

Numpy Show is the debugger you didn't know you needed. It takes a Numpy ndarray and prints it right on the node, as text, so you can actually see what your data pipeline is carrying instead of guessing. In ComfyUI-Data-Analysis, arrays are invisible passengers - they flow through NDARRAY sockets and you have zero idea what's inside until something downstream errors out. This node is how you peek.

It's part of HowToSD's ComfyUI-Data-Analysis pack, Hide Inada's collection of Pandas/Numpy/Matplotlib/Seaborn nodes that bring real data work into the node graph. The "analysis" in the pack name is literal: you can load a CSV, slice and transform it, and plot it - all visually. But the flip side of doing data work in a GUI is that nothing is inspectable by default. Numpy Show fixes that for arrays.

How it works

The mechanism is simple and worth knowing because it explains the one quirk that bites people. The node is built on the Show Text pattern from pythongosssss's ComfyUI-Custom-Scripts (the code is credited in the pack's credit/ folder - MIT licensed). It registers as an output node and, via the pack's ShowText.js frontend, writes the array's string representation onto the node body after every run.

The class sets INPUT_IS_LIST = True, so when it executes it grabs ndarray[0] - the first element - and renders that. Feed it a single array and you see the whole thing. Feed it a list of arrays and you only see the first one. That's not a bug, it's how it was built, but it surprises people.

Inputs and outputs

  • ndarray (required, NDARRAY) - the array you want to inspect. Wire it from any node in this pack that emits NDARRAY, like Numpy Float Create, Numpy Int Create, Numpy Squeeze, or Pandas To Numpy.
  • STRING output (list) - the text representation, also returned as a proper output. It's a terminal node first, but that string is real and you can wire it onward into a text display or save node if you want.

A realistic setup

The natural debugging chain is: Numpy Float CreateNumpy SqueezeNumpy Show. Build your array, reshape it, and confirm the shape and values before you feed it into a Pandas node. It saves you from the classic "why is this column full of NaN" spiral, because you can catch the array content before the DataFrame conversion, not after.

Installing it

Numpy Show ships with the whole pack, so install once and you get all ~150 nodes.

Via ComfyUI Manager: open the Manager, click Custom Node Manager, search "Data analysis", install ComfyUI-Data-Analysis, restart, reload the browser tab.

Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/HowToSD/ComfyUI-Data-Analysis
mv ComfyUI-Data-Analysis data-analysis   # README says examples expect this folder name
pip install -r data-analysis/requirements.txt

The requirements pull in pandas, matplotlib, seaborn, scipy, scikit-learn, openpyxl, and lxml - heavy for a node pack, but ComfyUI ships with none of them, so they're genuinely needed. No GPU required. One note: since March 2025 the pack's PyTorch-tensor nodes live in a separate extension, ComfyUI-Pt-Wrapper - this pack itself is CPU-friendly.

Where people get burned

  • Only the first array shows. A list of arrays displays element zero. Check with a single array if you're confused.
  • It's an output node. Treat it as a terminal for inspection; don't chain a whole pipeline through it expecting it to pass arrays along.
  • Big arrays print ugly. A 1000-element array dumps a wall of text onto the node. That's fine - it's for debugging, not reading.
CategoryData Analysis

Inputs (1)

NameTypeDefaultDescription
ndarrayNDARRAY

Outputs (1)

NameTypeDescription
STRINGSTRING