<?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: How to force heatmap to show all rows/columns even when empty? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732310#M91424</link>
    <description>&lt;P&gt;You have to be holding down SHIFT when you click on the red triangle menu (JMP does have few of these "hidden" features in red triangle menus). I have learned about it in some post by Julian such as this &lt;A href="https://community.jmp.com/t5/Discussions/Exclude-and-Show-Data-in-Fit-Y-by-X-and-Graph-Builder/m-p/50457/highlight/true#M28685" target="_blank"&gt;https://community.jmp.com/t5/Discussions/Exclude-and-Show-Data-in-Fit-Y-by-X-and-Graph-Builder/m-p/50457/highlight/true#M28685&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-MESSAGE title="Plot Excluded and Unhidden data points in Graph Builder" uid="209760" url="https://community.jmp.com/t5/JMP-Wish-List/Plot-Excluded-and-Unhidden-data-points-in-Graph-Builder/m-p/209760#U209760" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 11 Mar 2024 12:32:37 GMT</pubDate>
    <dc:creator>jthi</dc:creator>
    <dc:date>2024-03-11T12:32:37Z</dc:date>
    <item>
      <title>How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730823#M91372</link>
      <description>&lt;P&gt;Is there a trick to making a heatmap show all rows even when a data filter eliminates some of them? &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Consider this plot created against "Big Class.jmp":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Graph Builder(
	Size( 673, 714 ),
	Variables( X( :sex ), Y( :age ) ),
	Elements( Heatmap( X, Y, Legend( 2 ) ) ),
	Local Data Filter(
		Add Filter( columns( :height ), Where( :height &amp;gt;= 65.137 &amp;amp; :height &amp;lt;= 70 ) )
	)
)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;If you look at this plot, you see that the row for age 13 is completely missing. &amp;nbsp;I realize that the local data filter removed all entries for age 13, but is there a good way to make the row for 13 still show up, i.e. as an all-white row.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 06:32:23 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730823#M91372</guid>
      <dc:creator>BHarris</dc:creator>
      <dc:date>2024-03-08T06:32:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730847#M91374</link>
      <description>&lt;P&gt;Change the Age column from Ordinal to Continuous and you will get the complete Y axis you want&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1709892350968.png" style="width: 793px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/61981iA04783EC0D37AABC/image-dimensions/793x565?v=v2" width="793" height="565" role="button" title="txnelson_0-1709892350968.png" alt="txnelson_0-1709892350968.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 10:06:12 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730847#M91374</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-03-08T10:06:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730962#M91388</link>
      <description>&lt;P&gt;Sadly in our case that variable truly is nominal, so that won't work for our specific problem.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 18:14:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730962#M91388</guid>
      <dc:creator>BHarris</dc:creator>
      <dc:date>2024-03-08T18:14:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730987#M91392</link>
      <description>&lt;P&gt;You can create a simple Shape map that contains all of the categories, and then drag your count column onto the map, and it will display a choropleth map, which is a heat map. You will have to create a new column which is a combination of your current X and Y variables, which will point to the specific element in the map, but it will do what you want.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 18:56:23 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/730987#M91392</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-03-08T18:56:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/731274#M91396</link>
      <description>&lt;P&gt;This sounds like it could work.&amp;nbsp; I read the docs on Shape maps, but I'm not sure I'm understanding them.&amp;nbsp; How do I make the map you're describing?&amp;nbsp; And how do I load it?&lt;/P&gt;</description>
      <pubDate>Fri, 08 Mar 2024 22:30:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/731274#M91396</guid>
      <dc:creator>BHarris</dc:creator>
      <dc:date>2024-03-08T22:30:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/731531#M91400</link>
      <description>&lt;P&gt;The maps can be Saved into&lt;/P&gt;
&lt;PRE&gt;C:\Users\&amp;lt;user name&amp;gt;\AppData\Roaming\SAS\JMP\Maps&lt;/PRE&gt;
&lt;P&gt;or, they can be saved into $TEMP and then referenced by passing the location to Graph Builder.&amp;nbsp; I took the time to expand your example into a script that creates the Shape Map file, and saves them to $TEMP and finally graphs the data&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1709985019348.png" style="width: 682px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/62020i1C373F6436568BD3/image-dimensions/682x506?v=v2" width="682" height="506" role="button" title="txnelson_0-1709985019348.png" alt="txnelson_0-1709985019348.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = 
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );


// Create the Shape Map tables
dtXY = New Table( "Class-XY",
	New Column( "Shape", modeling type( Ordinal ) ),
	New Column( "Part", Modeling type( Ordinal ) ),
	New Column( "X" ),
	New Column( "Y" )
);

dtName = New Table( "Class-Name",
	New Column( "Shape", Modeling type( Ordinal ) ),
	New Column( "Cell", character )
);
dtName:Cell &amp;lt;&amp;lt; set property( "Map Role", Map Role( Shape Name Definition ) );

// Populate the tables
ages = Associative Array( dt:Age &amp;lt;&amp;lt; get values ) &amp;lt;&amp;lt; get keys;
sexes = Associative Array( dt:Sex &amp;lt;&amp;lt; get values ) &amp;lt;&amp;lt; get keys;
ID = 0;
For Each( {sex, xi}, sexes,
	For Each( {age, yi}, ages,
		theName = Char( sex ) || Char( age );show(thename);
		ID++;
		dtName &amp;lt;&amp;lt; add rows( 1 );
		dtName:Shape[N Rows( dtName )] = ID;
		dtName:Cell[N Rows( dtName )] = theName;
		dtXY &amp;lt;&amp;lt; add rows( 1 );
		dtXY:Shape[N Rows( dtXY )] = ID;
		dtXY:Part[N Rows( dtXY )] = ID;
		dtXY:X[N Rows( dtXY )] = xi;
		dtXY:Y[N Rows( dtXY )] = yi;
		dtXY &amp;lt;&amp;lt; add rows( 1 );
		dtXY:Shape[N Rows( dtXY )] = ID;
		dtXY:Part[N Rows( dtXY )] = ID;
		dtXY:X[N Rows( dtXY )] = xi;
		dtXY:Y[N Rows( dtXY )] = yi + 1;
		dtXY &amp;lt;&amp;lt; add rows( 1 );
		dtXY:Shape[N Rows( dtXY )] = ID;
		dtXY:Part[N Rows( dtXY )] = ID;
		dtXY:X[N Rows( dtXY )] = xi + 1;
		dtXY:Y[N Rows( dtXY )] = yi + 1;
		dtXY &amp;lt;&amp;lt; add rows( 1 );
		dtXY:Shape[N Rows( dtXY )] = ID;
		dtXY:Part[N Rows( dtXY )] = ID;
		dtXY:X[N Rows( dtXY )] = xi + 1;
		dtXY:Y[N Rows( dtXY )] = yi;
	)
);

// Save the Map tables to the Temp Directory
close( dtXY, Save( "$temp\mycell-XY.jmp" ));
close( dtName, Save( "$temp\mycell-Name.jmp") );

// Add the concatenated Sex/Age column to the data table
dt &amp;lt;&amp;lt; New Column( "Cell", character, set each value( :Sex || Char(:Age)));

// Create the Heat map using the Shape Map
gb = Graph Builder(
	Size( 522, 456 ),
	Show Control Panel( 0 ),
	Variables(
		Color( :height ),
		Shape(
			:Cell,
			Set Shape File( "$TEMP/mycell-Name.jmp" )
		)
	),
	Elements(
		Map Shapes(
			Legend( 3 ),
			Summary Statistic( "N" ),
			Show Missing Shapes( 1 )
		)
	),
	Local Data Filter(
		Add Filter( columns( :height ), Where( :height &amp;gt;= 65.137 ) )
	),
	SendToReport(
		Dispatch(
			{},
			"",
			ScaleBox,
			{Format( "Fixed Dec", 12, 0 ), Min( -2.44489795918367 ),
			Max( 6.44489795918367 ), Inc( 1 ), Minor Ticks( 0 ),
			Label Row(
				{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
				Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
				}
			)}
		),
		Dispatch(
			{},
			"",
			ScaleBox( 2 ),
			{Min( -0.0843053453846471 ), Max( 7.18430534538465 ), Inc( 1 ),
			Minor Ticks( 0 ), Label Row(
				{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
				Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
				}
			)}
		),
		Dispatch( {}, "400", LegendBox, {Set Title( "Count" )} )
	)
);

// Add the cell labelling to the graph

Report( gb )[FrameBox( 1 )] &amp;lt;&amp;lt; Add Graphics script(
	For Each( {sex, xi}, sexes,
		Eval( Eval Expr( Text( Center Justified, {Expr( xi + .5 ), .5}, Expr( sex ) ) ) )
	);
	For Each( {age, yi}, ages,
		Eval( Eval Expr( Text( Center Justified, {.5,Expr( yi + .5 ) }, Expr( char(age) ) ) ) )
	);
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Mar 2024 11:51:30 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/731531#M91400</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-03-09T11:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732297#M91421</link>
      <description>&lt;P&gt;Sometimes enabling Show Excluded Rows might also work. To enable Show Excluded Rows, hold shift when you click the red triangle&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1710157693089.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/62060iCBAC297F296937C8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1710157693089.png" alt="jthi_0-1710157693089.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;but this can end up showing some rows which you might not want to see (you could have excluded rows from the data table for example).&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1); 

dt = Open("$SAMPLE_DATA/Big Class.jmp");

gb = dt &amp;lt;&amp;lt; Graph Builder(
	Size(626, 662),
	Show Control Panel(0),
	Ignore Platform Preferences(1),
	Show Excluded Rows(1),
	Variables(X(:sex), Y(:age)),
	Elements(Heatmap(X, Y, Legend(2))),
	Local Data Filter(Add Filter(columns(:height), Where(:height &amp;gt;= 65.137)))
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Depending on your data Shape Files can be a good idea like Jim did already suggest.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2024 11:51:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732297#M91421</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-03-11T11:51:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732309#M91423</link>
      <description>&lt;P&gt;Jarmo,&lt;/P&gt;
&lt;P&gt;Your response is clearly a better choice, however, the interactive selection of&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Show Excluded Rows&lt;/P&gt;
&lt;P&gt;does not appear as an option on my list of selections&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1710159459837.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/62061i8F95B1239BF5B74D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="txnelson_0-1710159459837.png" alt="txnelson_0-1710159459837.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The option does appear in my preferences.&amp;nbsp; Have you any idea what the issue is?&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2024 12:24:33 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732309#M91423</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-03-11T12:24:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to force heatmap to show all rows/columns even when empty?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732310#M91424</link>
      <description>&lt;P&gt;You have to be holding down SHIFT when you click on the red triangle menu (JMP does have few of these "hidden" features in red triangle menus). I have learned about it in some post by Julian such as this &lt;A href="https://community.jmp.com/t5/Discussions/Exclude-and-Show-Data-in-Fit-Y-by-X-and-Graph-Builder/m-p/50457/highlight/true#M28685" target="_blank"&gt;https://community.jmp.com/t5/Discussions/Exclude-and-Show-Data-in-Fit-Y-by-X-and-Graph-Builder/m-p/50457/highlight/true#M28685&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-MESSAGE title="Plot Excluded and Unhidden data points in Graph Builder" uid="209760" url="https://community.jmp.com/t5/JMP-Wish-List/Plot-Excluded-and-Unhidden-data-points-in-Graph-Builder/m-p/209760#U209760" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-idea-thread lia-fa-icon lia-fa-idea lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2024 12:32:37 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-force-heatmap-to-show-all-rows-columns-even-when-empty/m-p/732310#M91424</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-03-11T12:32:37Z</dc:date>
    </item>
  </channel>
</rss>

