Charts in the Results Analysis add-on

August 28, 2026

"Geometry and add-ons" introduced the Results Analysis add-on as a comparison plot in its own window: several signals, one shared time axis. It has since grown five chart types in all, each with options of its own, plus a way to get the data out as a plain file. Results Analysis is not part of Konjugate itself, so if its Charts button is missing from the toolstrip, install it first from the Discover tab of Extensions, as "Installing add-ons and plugins" describes.

The model behind every screenshot below is a small one on purpose: two nodes, Position and Velocity, connected so that dx/dt = v and dv/dt = -x, a plain undamped oscillator with nothing forcing or slowing it down. Nothing about any of these charts needed a bigger model to be worth showing.

The signal this starts from

Time series, the original chart mode, plots Position and Velocity against time exactly as before:

Position and Velocity plotted against time, two sine waves 90 degrees out of phase
Two ordinary-looking sine waves. What they're doing together is the interesting part, which a shared time axis doesn't show.

A Layout option under the chart type changes how several signals share the plot. Overlaid draws them on one plot, as above. Stacked by signal gives each its own row on the same time axis, and Stacked by unit shares a row between signals that have the same unit:

The same two signals drawn in separate rows that share one time axis
Stacked by signal. Useful once signals have different scales, since each row gets its own vertical axis.

Scatter: plotting one signal against another

Switching Chart to Scatter replaces the signal checkboxes with axis pickers: an X axis, a Y axis and two optional ones, Color by and Size by, for a third and fourth dimension on the same plot.

Position plotted against Velocity: a clean circular loop
Two sine waves a quarter-cycle apart trace a circle once one is plotted against the other instead of both against time.

This is the standard way a system like this actually gets examined: a time series shows that both signals oscillate, but plotting one against the other is what shows the relationship between them, a closed loop with no forcing or damping to spiral it inward or outward. Under Draw, Points shows the samples and Trajectory joins them into a path. A Z axis turns the plot into a 3D one, and the Color by and Size by pickers add further signals. Reset trail exists because Scatter and Distribution build their plot progressively as the timeline advances, the same completed-result playhead "Exploring results" covers, rather than drawing the whole run at once.

Distribution: how a signal spends its time

Distribution goes back to the ordinary signal checkboxes, one histogram per checked signal, of that signal's own values across the run:

A histogram of Position's values, higher at both extremes and lower in the middle
Position spends more time near +1 and -1, where the oscillation slows down and reverses, than anywhere in between.

That U shape is real, not an artifact: a sine wave moves fastest through the middle of its range and slowest at its peaks and troughs, so a sample taken at a random instant is more likely to land near an extreme than near the center. Nothing about a smooth, bounded oscillation implies its values are spread evenly across that range, and a plain time series doesn't make that visible the way a histogram does immediately.

Shape switches the same data from a histogram to a box or a violin plot, which show the middle and the spread of a signal more compactly when several are side by side:

A violin plot of Position's values
The same Position signal as a violin: the widest parts are where it spends the most time.

Spectrum: which frequencies a signal contains

Spectrum works on the whole run at once, not up to the timeline's current point. It shows how much of each frequency each checked signal contains. Amplitude switches between a linear and a logarithmic scale, and the logarithmic one is the better choice when small peaks sit beside a large one.

The spectrum of Position and Velocity, a single sharp peak near 0.16 hertz
One peak, near 0.16 Hz. That is 1 divided by 2 pi, the frequency of an oscillator whose equations are dx/dt = v and dv/dt = -x. Position's line lies exactly under Velocity's.

A signal that is one clean oscillation gives one peak, as here. A signal with a slower drift under a fast ripple would show both, which the time series makes hard to judge by eye.

Correlation: how strongly pairs of signals move together

Correlation also looks at the whole run. Select two or more signals and it draws a grid with a number in each cell, from -1 to 1, for how closely that pair moves together:

A two by two correlation grid, with 1.00 on the diagonal and 0.01 between Position and Velocity
Every signal correlates perfectly with itself. Position and Velocity score 0.01, close to nothing.

Look at the off-diagonal cells, because they say something worth being careful about. Position and Velocity here are completely bound to each other: one is the rate of change of the other. Yet their correlation is almost zero, since a quarter-cycle apart means that when one is high the other is as likely to be rising as falling. A correlation near zero means no straight-line relationship over the run. It does not mean the signals are unrelated, and the scatter plot above is what shows the loop. Clicking a cell opens that pair as a scatter plot, so the two views are one click apart.

Getting the numbers out

Export data (CSV), present regardless of chart mode, opens the operating system's own save dialog and writes whichever signals are currently selected to a plain CSV. It's independent of the main application's own CSV export: this button lives in the add-on itself, backed by its own permission the add-on has to declare and be granted, and it exports exactly what's currently selected in this window rather than every signal in the result.

Where to go from here

"Geometry and add-ons" covers opening this add-on in the first place and what a read-only visualizer window can and can't do to the result it's showing.

Follow Konjugate on LinkedIn for updates, or subscribe via RSS.

Comments