- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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:
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>
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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
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} )} )
)
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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
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)))
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
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
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} )} )
)
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Creating a wafer map with discrete cell values
Thank you very much! This would be a good workaround until my company upgrades JMP