<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Map shape + contour in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/618754#M81811</link>
    <description>&lt;P&gt;If the dies are positioned in a rectangular pattern -or if it is acceptable to generate the plot in a rectangular pattern, then you could use the die x/y position as X/Y group&amp;nbsp; - and use the intra-die position on the X/Y-Axis.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The example below&amp;nbsp; uses &lt;STRONG&gt;lots/wafers&lt;/STRONG&gt; and &lt;STRONG&gt;x_die/y_die&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;instead of &lt;STRONG&gt;x_die/y_die&lt;/STRONG&gt; and &lt;STRONG&gt;x_intra_die/y_intra_die -&amp;nbsp;&lt;/STRONG&gt;but I hope that the basic idea is visible:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1680275693879.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51653iEC19D1C63C0FEC9D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hogi_0-1680275693879.png" alt="hogi_0-1680275693879.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );

dt &amp;lt;&amp;lt; Graph Builder(

	Show Control Panel( 0 ),
	Variables(
		X( :X_Die ),
		Y( :Y_Die ),
		Group X( :Lot ),
		Group Y( :Wafer ),
		Color( :Defects )
	),
	Elements( Heatmap( X, Y, Legend( 9 ) ) )
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 31 Mar 2023 15:17:38 GMT</pubDate>
    <dc:creator>hogi</dc:creator>
    <dc:date>2023-03-31T15:17:38Z</dc:date>
    <item>
      <title>Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/615989#M81569</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I work in the semiconductor industry. Let's say I have a wafer.&amp;nbsp; This wafer has dies spread around the wafer, as shown. Within each die there are rows / columns each representing gradients of some metric at a specified point. From left to right, for instance, metric A starts at a max value and dwindles to the min on the right.&amp;nbsp; From top to bottom, metric B follows the same pattern.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've set up a wafer map shape where each shape number is the die. However, the values for any colored metric is averaged within the die because of the map shape.&amp;nbsp; Is there a way to change this averaging behavior into a contour map, within each die? If I click on the contour option in the Graph Builder, the visualization goes blank.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="StarfruitBob_0-1679599852413.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51444i6214BC872FCA28D7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="StarfruitBob_0-1679599852413.png" alt="StarfruitBob_0-1679599852413.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been searching for this, but I haven't found answers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&lt;/P&gt;</description>
      <pubDate>Sun, 11 Jun 2023 11:30:44 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/615989#M81569</guid>
      <dc:creator>StarfruitBob</dc:creator>
      <dc:date>2023-06-11T11:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616068#M81577</link>
      <description>&lt;P&gt;You can do what you want, using Hover Label Graphlets.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1679629951122.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51448i1A9763690FA7145E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="txnelson_0-1679629951122.png" alt="txnelson_0-1679629951122.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The attached data table has a 5x5 grid of values for each state.&amp;nbsp; When the state is hovered over on the map, a Contour Map is generated and displayed for the data in the 5x5 grid for that state.&amp;nbsp; Using the State map for the display was used because I was too lazy to create a wafermap shape data table.&amp;nbsp; But it should work just as well as the state map.&amp;nbsp; Here is the JSL that drives the map display, with the Hover Label definition.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Data Table("StarfruitBob");
gb = Graph Builder(
	Size( 534, 456 ),
	Show Control Panel( 0 ),
	Variables( X( :Longitude ), Y( :Latitude ), Color( :Value ), Shape( :State ) ),
	Elements( Map Shapes( X, Y, Legend( 22 ) ) )
);
Frame = (gb &amp;lt;&amp;lt; Report)[FrameBox( 1 )];
frame &amp;lt;&amp;lt; Set Graphlet(
	Picture(
		Contour Plot(
			X( :x, :y ),
			Y( :value ),
			Show Data Points( 1 ),
			Fill Areas( 0 ),
			Label Contours( 0 ),
			Transform( "Range Normalized" ),
			Specify Contours( Min( 6 ), Max( 22 ), N( 9 ) )
		)
	)
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The documentation on Hover Labels and Graphlets is in the Scripting Guide, found in the JMP Documentation Library, under the Help Menu.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 03:58:58 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616068#M81577</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-03-24T03:58:58Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616393#M81604</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687"&gt;@txnelson&lt;/a&gt;. Unfortunately, this would not be useful to most people where I work, as many of the visualizations that are generated end up as screenshots in reports. One or two pins may be okay, but the number that would be needed far exceeds that. The closest I can come is a contour plot with a higher alpha level, but the shapes become too abnormal to be useful, for what I'm looking for.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems as though this is a wish list item.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 16:39:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616393#M81604</guid>
      <dc:creator>StarfruitBob</dc:creator>
      <dc:date>2023-03-24T16:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616515#M81615</link>
      <description>&lt;P&gt;You could use a lineup box to hold a contour plot for each die, something like this&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="The gray rectangles are beyond the edge of the wafer." style="width: 327px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51469i6938EF25BB496948/image-size/large?v=v2&amp;amp;px=999" role="button" title="contours on wafer.png" alt="The gray rectangles are beyond the edge of the wafer." /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;The gray rectangles are beyond the edge of the wafer.&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;waferRadius = 1; // arbitrary
across = 7;
width = 2 * waferRadius / across;
down = 16;
height = 2 * waferRadius / down;
lub = Lineup Box( N Col( across ), &amp;lt;&amp;lt;backgroundcolor( RGB Color( 0.3, 0.3, 0.3 ) ) );// dark gray
For( row = 0.5, row &amp;lt;= down, row += 1,
	For( col = 0.5, col &amp;lt;= across, col += 1,
		If( Sqrt( (row * height - waferRadius) ^ 2 + (col * width - waferRadius) ^ 2 ) &amp;lt; waferRadius, 
			// on the wafer. at this point you need the data for
			// a contour plot. It should be a subset from a table
			// for the wafer's die, most likely, but this is a demo.
			contourDt = New Table( "Untitled",
				invisible,
				Add Rows( 50 ),
				New Column( "x", Formula( Mod( Row()-1, 5 ) ) ), // data range 0..4
				New Column( "y", Formula( Floor( (Row()-1) / 5 ) ) ), // range 0..9
				New Column( "z", Formula(y+x^atan(row-down/2,col-across/2) ) ) // demo
			);
			gb = contourDt &amp;lt;&amp;lt; Graph Builder(
				Size( 10*down, 10*across ), // 10: scale it up to minimize the borders
				fittowindow( "off" ),
				Show Control Panel( 0 ),
				Show Legend( 0 ),
				Show Title( 0 ),
				Show Footer( 0 ),
				Show X Axis( 0 ),
				Show Y Axis( 0 ),
				Show X Axis Title( 0 ),
				Show Y Axis Title( 0 ),
				Variables( X( :x ), Y( :y ), Overlay( :z ) ),
				Elements( Contour( X, Y, Legend( 37 ) ) ),
				SendToReport(
					Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "" ), Image Export Display( Normal )} ),
					// choose the axis range to exactly display all the data, no more, no less
					Dispatch( {}, "x", ScaleBox, {Min( 0 ), Max( 4 ), Inc( 1 ), Minor Ticks( 0 )} ),
					Dispatch( {}, "y", ScaleBox, {Min( 0 ), Max( 9 ), Inc( 2 ), Minor Ticks( 0 )} )
				)
			);
			Report( gb ) &amp;lt;&amp;lt; backgroundcolor( RGB Color( 0.3, 0.3, 0.3 ) );// dark gray
			lub &amp;lt;&amp;lt; append( Report( gb )[framebox( 1 )] &amp;lt;&amp;lt; getpicture );
			gb &amp;lt;&amp;lt; closewindow;
			Close( contourDt, nosave );
		, 
			// off the edge
			lub &amp;lt;&amp;lt; append( Spacer Box() )
		)
	)
);
img = lub&amp;lt;&amp;lt;getpicture;
img&amp;lt;&amp;lt;scale(.3); // .3: scale it down to fit the screen
New Window( "contours on wafer", img );&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I took a picture of each contour plot, moderately large, both to be able to close the platform and delete the dummy data &lt;EM&gt;and&lt;/EM&gt; to minimize the appearance of some pixels around the edge of the picture. Later, I scale the big composite picture down. The LineupBox is never displayed (you could, for debugging), but the picture of the lineup is displayed at the end.&lt;/P&gt;
&lt;P&gt;I have not thought through the legend and how to make it common across the graphs. I think it is possible to specify the legend ranges.&lt;/P&gt;
&lt;P&gt;You can use img&amp;lt;&amp;lt;savepicture to capture the image, or you might want to add some more displayboxes with information about the wafer before capturing the picture.&lt;/P&gt;
&lt;P&gt;It does take a couple of minutes to run the example.&lt;/P&gt;</description>
      <pubDate>Sat, 25 Mar 2023 05:46:29 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616515#M81615</guid>
      <dc:creator>Craige_Hales</dc:creator>
      <dc:date>2023-03-25T05:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616529#M81617</link>
      <description>&lt;P&gt;I don't think you can do this using those shape maps you have. If you have more accurate coordinates than just the corners of dies, you could use those to create more accurate map to use for cases like this. Or maybe you can use the coordinates and set them as Ordinal and then you might be able to use heatmap or scatterplot.&lt;/P&gt;</description>
      <pubDate>Sat, 25 Mar 2023 06:54:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/616529#M81617</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2023-03-25T06:54:32Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/618173#M81762</link>
      <description>&lt;P&gt;This may be a viable solution,&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/982"&gt;@Craige_Hales&lt;/a&gt;! A very creative workaround!&amp;nbsp; Thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 30 Mar 2023 15:27:24 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/618173#M81762</guid>
      <dc:creator>StarfruitBob</dc:creator>
      <dc:date>2023-03-30T15:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: Map shape + contour</title>
      <link>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/618754#M81811</link>
      <description>&lt;P&gt;If the dies are positioned in a rectangular pattern -or if it is acceptable to generate the plot in a rectangular pattern, then you could use the die x/y position as X/Y group&amp;nbsp; - and use the intra-die position on the X/Y-Axis.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The example below&amp;nbsp; uses &lt;STRONG&gt;lots/wafers&lt;/STRONG&gt; and &lt;STRONG&gt;x_die/y_die&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;instead of &lt;STRONG&gt;x_die/y_die&lt;/STRONG&gt; and &lt;STRONG&gt;x_intra_die/y_intra_die -&amp;nbsp;&lt;/STRONG&gt;but I hope that the basic idea is visible:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1680275693879.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/51653iEC19D1C63C0FEC9D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hogi_0-1680275693879.png" alt="hogi_0-1680275693879.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;dt = Open( "$SAMPLE_DATA/Wafer Stacked.jmp" );

dt &amp;lt;&amp;lt; Graph Builder(

	Show Control Panel( 0 ),
	Variables(
		X( :X_Die ),
		Y( :Y_Die ),
		Group X( :Lot ),
		Group Y( :Wafer ),
		Color( :Defects )
	),
	Elements( Heatmap( X, Y, Legend( 9 ) ) )
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 31 Mar 2023 15:17:38 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Map-shape-contour/m-p/618754#M81811</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2023-03-31T15:17:38Z</dc:date>
    </item>
  </channel>
</rss>

