cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
Get the free JMP Student Edition for qualified students and instructors at degree granting institutions.
Choose Language Hide Translation Bar
View Original Published Thread

How to make graph Y-Axis axis scale with filter

Evan_Morris
Level IV

Kind of a hard one to describe in the title. 

 

I have a heatmap that I move around through with a local data filter.  I would like for the y-axis to maintain a specific scale per heatmap box and for the graph to get longer or shorter based on how may entries on the y-axis exist.  So if it has 10 entries it's X long.  If it has 200 entries it's 20*X long.  

 

Basically I want to maintain readibility of the y-axis labels and the labels in the heatmap itself which link to a hoverlabel graphlet.  

1 ACCEPTED SOLUTION

Accepted Solutions
hogi
Level XII


Re: How to make graph Y-Axis axis scale with filter

You could trigger the size update by a Filter Change Handler.
The gb << Size message just has an effect, if you fist disable Fit to Window:

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
	Size( 400, 400 ),
	Show Control Panel( 0 ),
	Set α Level( 0.01 ),
	Fit to Window( "Off" ),
	Summary Statistic( "Median" ),
	Graph Spacing( 4 ),
	Variables( X( :height ), Y( :weight ), Group Y( :age ), Overlay( :sex ) ),
	Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);

df = gb << Local Data Filter(

	Add Filter( columns( :age ), Where( :age == {14, 15} ), Display( :age, N Items( 6 ) ) )
);
	
adjustSize = Function( {x},
	sizeY = N Items( Current Report()["Local Data Filter", ListBoxBox( 1 )] << get selected() ) * 200;
	gb << size( 400, sizeY );
);
	
fsh = df << Make Filter Change Handler( adjustSize );



 

View solution in original post

2 REPLIES 2
hogi
Level XII


Re: How to make graph Y-Axis axis scale with filter

You could trigger the size update by a Filter Change Handler.
The gb << Size message just has an effect, if you fist disable Fit to Window:

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
	Size( 400, 400 ),
	Show Control Panel( 0 ),
	Set α Level( 0.01 ),
	Fit to Window( "Off" ),
	Summary Statistic( "Median" ),
	Graph Spacing( 4 ),
	Variables( X( :height ), Y( :weight ), Group Y( :age ), Overlay( :sex ) ),
	Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);

df = gb << Local Data Filter(

	Add Filter( columns( :age ), Where( :age == {14, 15} ), Display( :age, N Items( 6 ) ) )
);
	
adjustSize = Function( {x},
	sizeY = N Items( Current Report()["Local Data Filter", ListBoxBox( 1 )] << get selected() ) * 200;
	gb << size( 400, sizeY );
);
	
fsh = df << Make Filter Change Handler( adjustSize );



 

Evan_Morris
Level IV


Re: How to make graph Y-Axis axis scale with filter

I was hoping for something native but yeah that seems like the best option if there isn't a native solution.  Thanks