Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

Parallel Plot: synchronized axes

What inspired this wish list request? 

Parallel plot (Sankey Plot) in GraphBuilder is a wonderful tool for exploratory data analysis. It helps to detect trends and outliers in multi-dimensional data.

e.g. Enhanced Sankey Plot (ESP) 

The user can even display nominal data - which makes it very helpful for bin flip analysis:
For multiple repeated measurements, parallel plot can nicely display, which kind of flips are in the data.


There is a feature of Parallel Plot  (= the default way to generate a Sankey plot) which is a drawback for this special application case:
To get rid of white space, Jmp "squeezes" the graph and shifts individual values up and down.

Therefore, identical values are not on the same height for all measurements.
So, besides bin flips, there are additional wiggles in the curves.
To distinguish between bin flips and such additional wiggles, the user has to include the label information - a tedious job which lets you remember the talk 
All Graphs are Wrong, But Some Are Useful by @XanGregg .
A graph which needs labels to tell the story and cannot speak but its own
... needs some optimization.



There are already some options to synchronize the scales in Parallel Plot:
Parallel Plot in Graph Builder - how to get the same scale for all values 
but the one needed here seems to be missing.



Please add an option to synchronize the scales in Parallel Plot - such that identical values get on the same height.
This will lead to white spaces in the plot - but it will make a bin flip analysis 


Why is this idea important? 

Without question, the current way a Parallel Plot is generated fits to most application cases.

But there are application cases which could benefit tremendously from an additional option to "synchronize" the axes.





more wishes submitted by  hogi_2-1702196401638.png

Level XI


@XanGregg .
Is it possible to implement a mode in Graph Builder to align same values on the same height?

This kind of plot has huge potential for monitoring of bit / bin flips over multiple measurements.


Is there an alternative to generate such plots?



The only thing I can think of is to use continuous y variables, which can be aligned. With more effort, you can add offsets to each value so they don't collide.



New Table( "parallel",
	New Column( "y1", Set Values( [1, 1, 1, 1, 2, 2, 2, 4] )),
	New Column( "y2", Set Values( [1, 1, 1, 2, 2, 2, 3, 4] )),
	New Column( "y3", Set Values( [1, 1, 2, 2, 1, 3, 3, 4] )),
	New Column( "y4", Set Values( [1, 2, 2, 2, 2, 4, 4, 4] ))
Graph Builder(
	Transform Column( "y3+offset", Formula( :y3 + :offset ) ),
	Transform Column( "y4+offset", Formula( :y4 + :offset ) ),
	Transform Column( "y2+offset", Formula( :y2 + :offset ) ),
	Transform Column( "y1+offset", Formula( :y1 + :offset ) ),
	Transform Column( "offset", Formula( (Row() * 0.3) / N Rows() ) ),
	Size( 512, 423 ),
	Show Control Panel( 0 ),
		X( :"y1+offset"n ),
		X( :"y2+offset"n, Position( 1 ) ),
		X( :"y3+offset"n, Position( 1 ) ),
		X( :"y4+offset"n, Position( 1 ) ),
		Color( :y4 )
	Elements( Parallel( X( 1 ), X( 2 ), X( 3 ), X( 4 ), Legend( 6 ) ) ),
	SendToReport( Dispatch( {}, "400", ScaleBox,
		{Legend Model( 6,
			Properties( 0,
				{Line Width( 4 ), Transparency( 0.9 ),
				gradient( {Color Theme( "Green Yellow Red" )} )},
				Item ID( "y4", 1 )
Level XI

Hi @XanGregg 
With the "continuous" mode, it seems that the "counting" functionality is gone - this is THE reason why I want to use the parallel plot.


In the original plot, it was very easy to see if 1%, 20% or 1 out of 1000 entries showed a bit flip.

And via the "parallel" plot, it's very easy to monitor dozens of measurements at the same time.

So, all in all a grat potential to be extremely useful.


But as the values are not on the same level, it's kind of useless at the moment.


"same levels on same height" seems to be a simplified version of the current parallel plot.

So, maybe quite easy to add as a new functionality?