@User @User @User i have
forked gaw because the original author is long time no more working on it. I am just doing little patches to allow xschem better send waveforms to it by clicking nets or terminals, I do not think this viewer will ever be good for large designs. Also the raw data format is not good for large designs as it saves all variables at any timestep, even those who do not change at all. Depending on the needs you may decide to use ngspice internal plotting engine (you can plot expressions, do things like 'plot v(out) * i(vout)' or 'plot i(vdrain) vs v(another_voltage)' or 'plot i(vcoll)/i(vbase)', this could be useful for small analog blocks characterization. gaw is a multipanel viewer so it helps when you need to inspect more signals and look more at the timing. Both are not good for large designs. For example gaw has a flat signal list that becomes un-browseable with 1000+ nets. Moreover a simulation with 1000+ saved nets in a .raw file is unuseable anyway as file will get too big and gaw will not be able to read it. In my rom8k sample example (provided with xschem) i instructed ngspice to save only a subset of nodes to be able to use it.
I wish the gtkwave team will decide one day to add analog wave file format input (gtkwave already handles analog wave viewing, so most of the work is done).
xschem has a raw->vcd translator that shows simulation results from ngspice directly in gtkwave, although doing raw->vcd is less than optimal for large designs.