I found a trick to do this with internal ngspice! ![]()
By adding a global netlabel with the same name as a custom calculated vector, this vector shows up in the signals list so it can be viewed by the internal plot viewer. The netlabel must be connected to a dummy resistor.
The plot won’t update when schematic is changed, so one must close and re-open the plot window, however. Not sure why or how it could be fixed.
Looking at the code, I see eeschema/dialogs/dialog_signal_list.cpp : TransferDataToWindow() calls m_exporter->GetNetIndexMap() to get the available voltages. It would be cool if we could append any vectors found in the ngspice instance that’s not already listed. Alternatively, adding a way to manually add a vector by name.

