cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
hogi
Level XII

Parallel Plot in Graph Builder - how to get the same scale for all values

Parallel Plot is very useful to analyze repeated measurements and show the bin flips.

Unfortunately GraphBuilder scales the axis for each value separately. Therefore, one and the same bin is at different heights.
This complicates the analysis of the plot.

 

Is there an option in Jmp to synchronize/link the axes between the different parallel values, like it's possible to link axes between different pages?

hogi_0-1687349627698.png

 

hogi_2-1687348943217.png

 

6 REPLIES 6
Jeff_Perkinson
Community Manager Community Manager

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

I can't reproduce a graph like yours without a version of your data but try right clicking on the axis label and trying some of the other Combine Scales options to see if one of them gives you what you're looking for.

 

2023-06-22_14-48-03.529.png

-Jeff
hogi
Level XII

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

Hi @Jeff_Perkinson , thanks for helping to find a solution
Combine Scale sounds like the right place to look at ...
Unfortunately, none of the generated plots looks like expected, i.e. same values on the same height, indicating 
horizontal line ~ no bin flip

 

hogi_8-1687461642857.pnghogi_9-1687461743429.pnghogi_10-1687461765142.pnghogi_11-1687461786368.png



Here is a code to generate a test data table:

View more...
dt = new  table();
dt << add rows(10);

dt << new column("meas1", ordinal, set each value(randominteger(4)-1));
dt << new column("meas2", ordinal, set each value(:meas1));
dt << new column("meas3", ordinal, set each value(mod(:meas2 + if(randominteger(10)<5,randominteger(2)+2,0),4)));
dt << new column("meas4", ordinal, set each value(mod(:meas3 + if(randominteger(10)<5,randominteger(2)+2,0),4)));
dt << new column("meas5", ordinal, set each value(mod(:meas4 + if(randominteger(10)<5,randominteger(2)+2,0),4)));

Graph Builder(
	Variables(
		X( :meas1 ),
		X( :meas2, Position( 1 )),
		X( :meas3, Position( 1 ) ),
		X( :meas4, Position( 1 ) ),
		X( :meas5, Position( 1 ) ),
		Color( :meas5 )
	),
	Elements(
		Parallel( X( 1 ), X( 2 ), X( 3 ), X( 4 ), X( 5 ), Legend( 3 ) )
	)
)

 

 

 

julian
Community Manager Community Manager

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

Hi @hogi,

With nominal/ordinal variables, I don't believe there is going to be a way to force the Y location to be identical for the same value levels because with those modeling types Graph Builder will attempt to show proportionality of each level at each variable, which for any real-world case means variability in that Y location across a set of variables.

 

If you want to ensure the same axis for all variables in a parallel coordinate plot, you'll want to have your variables as continuous (and a proxy variable if you're using one of them in another role, like color):

julian_0-1687482908677.png

If the scales are very different, you will also need to instruct Graph Builder to always merge parallel axes, which is an option you can find under the Red Triangle while holding shift:

julian_1-1687483003332.png

If you select "Always" for Parallel Axis Merging, then regardless of how different the scales are, Graph Builder will use a single scale for the Y axis rather than implicitly standardizing the space.

 

I hope this helps!

@julian 

 

 

hogi
Level XII

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

Thanks @julian for the explanation.

 

The disadvantage of continuous variables vs. nominal/ordinal ones:
the lines are put on top of each other, so the graph will look the same for 1 and 1000 units with bin flips.

Here a comparson of both approaches - I really like the one with nominal values:

hogi_0-1687503236895.pnghogi_1-1687503244165.png


I hope other Jmp users have similar "niche application" and will support this wish:
Parallel Plot: synchonized axes 
to add an option to synchronize the scales

hogi
Level XII

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

@julian wrote:

instruct Graph Builder to always merge parallel axes, which is an option you can find under the Red Triangle while holding shift


another easter egg for the list
CTRL/Alt/Shift + click/select/double click/right click 

hogi
Level XII

Re: Parallel Plot in Graph Builder - how to get the same scale for all values

@Lisa_Daroque 

Parallel Plot: synchonized axes  could be very helpful for Semiconductor applications.

 

The idea:

drag multiple columns with 0/1 (...)  values onto x axis and activate parallel plot

--> check for bit flips between the columns:

 

hogi_0-1711222168501.png

 

most important:
the width of the lines:  more devices -> thicker line.

a few devices -> thin line.

The huge disadvantage at the moment:

the "random" position of 0 & 1 on the y axis !!!

@julian 's suggestion fixes THIS issue, but makes the graph useless - the cool "width" effect is gone