BookmarkSubscribeRSS Feed

Super User


Jun 22, 2012

Parallel Plot with Axis Scaling


The JMP Parallel Plot is a fine tool, and is adequate for most situations when visualizing the relationships between multiple columns of data. JMP's Parallel Plot display does not allow for the specification of the axis scaling. There are options to Scale Uniformly and Center at Zero, but the actual scale values are not surfaced to the user, for display or for adjustment. Sometimes, the displayed data becomes over crowded, or maybe there are some outlier data that forces the display to squeeze the important ranges of the data into a nonoptimal displaying of the data. Having the ability to set the scales for each axis is then very handy.


All that needs to be done is to select the columns to be used in the analysis, and to specify if one wants to have Spec Limits displayed. If not selected at this point, Spec Limits can be interactively toggled on and off when the plot is displayed.


Colors and Selection

The Addin honors the Row State colors, Selection, Hide and Exclude. Manually changing in the data table, any of these states, will change the Parallel Plot. Changing of the Colors and Selection of specific rows of data is available directly in the Parallel Plot Addin, however with some limititations.

Colors can be changed from the Red Triangle options on the graph

ColorBy.PNGColorBy with selection window.PNG

Selection is not available by clicking on a given line, as in JMP's Parallel Plot, however, one can click on any of the displayed data points in any of the axes and the line associated with that point will be selected.

 Select entries---laser pointer.PNG


Axis Scaling

Any of the displayed axes can be changed by either right clicking on the axis of choice and selecting Axis Settings

Change Axis using Axis Settings.PNG

Change Axis using Axis Settings results.PNG

Or by interactively moving the cursor to the axis of interest, and when the "Hand" tool appears, just clicking on it, and adjusti the axis to the desired values.


Spec Limits

Spec Limits are displayabile on the graph.

Show Hide Spec Limits results.PNG

In the above display, only the Target Limist are displayed(green). Upper Spec Limits are displayed in Red, and Lower Spec Limits are displayed in Blue. The displaying of Spec Limits is selectable from the initial input dialog box, or from the Red Triangle options.

One additional feature available with Spec Limits in the Addin is to have them displayed in a normalized format. By selecting "Normalize to Spec Limits" under the Red Triangle, the display will adjust the axes to be bounded by the Spec Limits values for each column.

Normalize spec limits results.PNG


Known Limitations

The Addin is a hybrid, combining a JSL Graph Box() along with the a Graph Builder Platform for each of the Axes. The relationship between the different parts is somewhat fragile. That is, if changes are made external to the display, such as adding a Data Filter can result in items initially blocked in the display, reappearing.


Sample Data

The data used in the above documentation is a sumarization taken from the Semiconductor Capability data table distributed with the JMP installation. The script below, performst the necessary summarization to that data table.

Names Default To Here( 1 );

// Open the Semiconductor Capability Data Table
dt = Open( "$SAMPLE_DATA\Semiconductor" );

// Create a Summary Table for 10 columns
dtSum = dt << Summary(
	Group( :lot_id ),
	Mean( :NPN1 ),
	Mean( :PNP1 ),
	Mean( :PNP2 ),
	Mean( :NPN2 ),
	Mean( :PNP3 ),
	Mean( :PNP4 ),
	Mean( :NPN3 ),
	Mean( :NPN4 ),
	Mean( :INM1 ),
	Mean( :INM2 ),
	Freq( "None" ),
	Weight( "None" ),
	statistics column name format( "column" ),
	Link to original data table( 0 )

// Delete the unnecessary column "N Rows"
dtSum << delete columns( "N Rows" );

// Copy the Spec Limits from the original table to the summary table
colNamesList = dtSum << get column names( string, continuous );

For( i = 1, i <= N Items( colNamesList ), i++,
	Column( dtSum, colNamesList[i] ) << set property(
		"Spec Limits",
		Eval( Column( dt, colNamesList[i] ) << get property( "Spec Limits" ) )

// Close the Semiconductor Capability Data Table
close( dt, nosave );

This is awesome! I use parallel plots a lot for process troubleshooting. This is a great enhancement. I owe you two drinks now :)

I hope you find it useful.

Article Labels
Article Tags