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

Creating a wafer map with discrete cell values

I'm trying to create a wafer map where each die would be colored differently based on a predetermined color code (i.e. FAIL TYPE 1 = color 1, FAIL TYPE 2 = color 2, PASS = color 3, etc.). Best I am able to get is something like this graph builder heat map:

 

rhakim23_0-1701799992808.png

 

In this example the color coding needs to be determined by column "CATEGORY" which is Character/Nominal and has values as PASS, FAIL1, FAIL2, FAIL3. However the way the graph builder appears to handle it is ignoring the actual values and making them kind of numeric/continuous, as can be seen above by "Count", 0-3, and the color scheme is automatically set to Blue-to-Red.

 

Code is shown below. Is there any way to specify the color scheme as needed? I am using JMP Pro 14.3. TIA!!

 

<JSL>

Graph Builder(
Size( 461, 400 ),
Variables( X( :X ), Y( :Y ), Color( :CATEGORY ) ),
Elements( Heatmap( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {"Heatmap"}, "", OutlineBox, {Close( 0 )} ),
Dispatch( {}, "400", LegendBox, {Set Title( "Count" )} )
)
);

</JSL>

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Creating a wafer map with discrete cell values

It appears that JMP 14 forces the colors to a gradient.  Therefore, I ran the wafermap and then created a custom gradient pattern, where only 3 colors were defined for the gradient.  The code below was generated in JMP 14

txnelson_0-1701803815228.png

Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );
dt:X_Die << Set Modeling Type( "Nominal" );
dt:Y_Die << Set Modeling Type( "Nominal" );

dt << Delete Rows( dt << Get Rows Where( :Lot_Wafer Label != "1_1" ) );

dt << New Column( "Type",
	Numeric,
	"Nominal",
	<<Set Each Value( Random Category( 0.15, 1, 0.05, 2, 0.8, 3 ) )
);

gb = Graph Builder(
	Variables( X( :X_Die ), Y( :Y_Die ), Color( :Type ) ),
	Elements( Heatmap( X, Y, Legend( 5 ) ) ),
	SendToReport(
		Dispatch(
			{},
			"400",
			ScaleBox,
			{Legend Model(
				5,
				Properties(
					0,
					{gradient(
						{Color Theme(
							{"Green Yellow Red Copy", 1, {"Green", {110, 197, 30}, "Yellow", {224, 176, 10},
							"red", {256, 0, 0}}}
						)},
						Item ID( "Type", 1 )
					)}
				)
			)}
		),
		Dispatch( {}, "400", LegendBox, {Legend Position( {5, [-1]} ), Position( {-1} )} )
	)
);

 

Jim

View solution in original post

5 REPLIES 5
jthi
Super User

Re: Creating a wafer map with discrete cell values

This might behave differently in JMP14 than in JMP17, but make sure that Summary statistic is set to None

jthi_1-1701801356985.png

Also if you have multiple wafermaps in same plot, how should JMP determine which category to use if same coordinate has multiple different categories?

 

This is done with JMP17

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
dt:X_Die << Set Modeling Type("Nominal");
dt:Y_Die << Set Modeling Type("Nominal");

dt << Delete Rows(dt << Get Rows Where(:Lot_Wafer Label != "1_1"));

dt << New Column("Type", Numeric, "Nominal", << Set Each Value(
	Random Category(0.15, 1, 0.05, 2, 0.8, 3)
));

gb = dt << Graph Builder(
	Variables(X(:X_Die), Y(:Y_Die), Color(:Type)),
	Elements(Heatmap(X, Y, Legend(5)))
);

jthi_2-1701801452684.png

 

-Jarmo
rhakim23
Level I

Re: Creating a wafer map with discrete cell values

Seems like I don't have that option for summary statistic or configure levels on JMP 14... too bad because that seems to be exactly what I need.

 

Also tried running your code, I'm getting the same type of results as I did before. Thanks for your help!

 

rhakim23_0-1701801959706.png

 

BHarris
Level VI

Re: Creating a wafer map with discrete cell values

We do these types of heatmaps all the time with JMP v17 and it works fine, so I'm left wondering if this is just a bug in JMP v14.

txnelson
Super User

Re: Creating a wafer map with discrete cell values

It appears that JMP 14 forces the colors to a gradient.  Therefore, I ran the wafermap and then created a custom gradient pattern, where only 3 colors were defined for the gradient.  The code below was generated in JMP 14

txnelson_0-1701803815228.png

Names Default To Here( 1 );

dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );
dt:X_Die << Set Modeling Type( "Nominal" );
dt:Y_Die << Set Modeling Type( "Nominal" );

dt << Delete Rows( dt << Get Rows Where( :Lot_Wafer Label != "1_1" ) );

dt << New Column( "Type",
	Numeric,
	"Nominal",
	<<Set Each Value( Random Category( 0.15, 1, 0.05, 2, 0.8, 3 ) )
);

gb = Graph Builder(
	Variables( X( :X_Die ), Y( :Y_Die ), Color( :Type ) ),
	Elements( Heatmap( X, Y, Legend( 5 ) ) ),
	SendToReport(
		Dispatch(
			{},
			"400",
			ScaleBox,
			{Legend Model(
				5,
				Properties(
					0,
					{gradient(
						{Color Theme(
							{"Green Yellow Red Copy", 1, {"Green", {110, 197, 30}, "Yellow", {224, 176, 10},
							"red", {256, 0, 0}}}
						)},
						Item ID( "Type", 1 )
					)}
				)
			)}
		),
		Dispatch( {}, "400", LegendBox, {Legend Position( {5, [-1]} ), Position( {-1} )} )
	)
);

 

Jim
rhakim23
Level I

Re: Creating a wafer map with discrete cell values

Thank you very much! This would be a good workaround until my company upgrades JMP