cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP Security Notice: CVE-2026-109618 and CVE-2026-109619

    JMP promptly initiated a review of its products, services, and relevant infrastructure for exposure to CVE-2026-109618 and CVE-2026-109619.

    Our assessment of JMP products has not identified exposure to these vulnerabilities. Where remediation was required within supporting environments, appropriate security updates and controls have been applied and validated.

    We have identified no evidence of successful exploitation or unauthorized access to JMP systems or customer information associated with these vulnerabilities.

    JMP continues to monitor the issue and relevant vendor guidance. No action is required by JMP customers at this time.

  • Don’t miss your chance to experience Discovery Summit Europe at our best available rate! Early bird registration through 31 Oct.
  • Graph Builder Toolbar streamlines interactive graphing. Creates shortcuts on Report and GraphBuilder Helpers toolbars. Download and install the extension.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
Danial1
Level III

How do I ensure that my scalebox does not stay fixed in size

I kindly need help in to create a JSL script that does not make my variability chart scalebox stay fixed in one size because I'm having problems to see any values when the value is outside my control limits. Below is an image how the chart looks like for a given script. Appreciate it if someone could advise me how to let it ensure all the points inside this chart

 

Danial1_0-1609241441966.png

Variability Chart(
	Y( :chart_value ),
	X( :X, :Y, :link, :Z, :1, :2 ),
	Max Iter( 100 ),
	Conv Limit( 0.00000001 ),
	Number Integration Abscissas( 128 ),
	Number Function Evals( 65536 ),
	Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
	Connect Cell Means( 1 ),
	Std Dev Chart( 0 ),
	Where(
		:spc_chart_subset == "MEAN" & :measurement_set_name ==
		"U"
	),
	SendToReport(
		Dispatch(
			{"Variability Chart for chart_value"},
			"2",
			ScaleBox,
			{Min( -130 ), Max( 35 ), Inc( 20 ), Minor Ticks( 1 ),
			Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
			Add Ref Line( 26.21, "Solid", "Red", "UCL: 26.21", 1 ),
			Add Ref Line(
				-47.05,
				"Solid",
				"Medium Light Green",
				"Target: -47.05",
				1
			), Add Ref Line( -120.3, "Solid", "Red", "LCL: -120.3", 1 )}
		),
		Dispatch(
			{"Variability Chart for chart_value"},
			"Variability Chart",
			FrameBox,
			{Marker Size( 3 ), Row Legend(
				chart_incontrol_flag,
				Color( 1 ),
				Color Theme( "" ),
				Marker( 1 ),
				Marker Theme( "Solid" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		)
	)
);
3 REPLIES 3
txnelson
Super User

Re: How do I ensure that my scalebox does not stay fixed in size

I believe you will get what you want if you delete the Min(), Max() and Inc() references from the Scale Box definition, and let the platform determine what those settings should be for each run of the code.
Jim
Danial1
Level III

Re: How do I ensure that my scalebox does not stay fixed in size

Hi @txnelson. Its nice to have you on board. I did attempted what you advised before posting this. It nearly worked unfortunately after writing the following script, I'm unable to see my Upper Control Limit (UCL). 

Danial1_0-1609253997966.png

 

 

Variability Chart(
Y( :chart_value ),
X( :X, :Y, :link, :Z, :1, :2 ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Connect Cell Means( 1 ),
Std Dev Chart( 0 ),
Where(
:spc_chart_subset == "MEAN" & :measurement_set_name ==
"U"
),
SendToReport(
Dispatch(
{"Variability Chart for chart_value"},
"2",
ScaleBox,
{ Minor Ticks( 1 ),
Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
Add Ref Line( 26.21, "Solid", "Red", "UCL: 26.21", 1 ),
Add Ref Line(-47.05,"Solid","Medium Light Green","Target: -47.05",1),
Add Ref Line( -120.3, "Solid", "Red", "LCL: -120.3", 1 )}
),
Dispatch(
{"Variability Chart for chart_value"},
"Variability Chart",
FrameBox,
{Marker Size( 3 ), Row Legend(
chart_incontrol_flag,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 1 ),
Marker Theme( "Solid" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);

 

txnelson
Super User

Re: How do I ensure that my scalebox does not stay fixed in size

Are the reference lines you are specifying always set at the current values, for all of your charts?  And what you want is for the Y axis to change based upon the current data, but you want to make sure the reference lines are always displayed?

If this is the case, you will need to run the Variability Chart, check to see what the Y axis min and max are, and if they are not the size that will allow for the reference line to be displayed, then dynamically set them.

You will need to do something like

vc = Variability Chart(
	Y( :chart_value ),
	X( :X, :Y, :link, :Z, :Name( "1" ), :Name( "2" ) ),
	Max Iter( 100 ),
	Conv Limit( 0.00000001 ),
	Number Integration Abscissas( 128 ),
	Number Function Evals( 65536 ),
	Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
	Connect Cell Means( 1 ),
	Std Dev Chart( 0 ),
	Where( :spc_chart_subset == "MEAN" & :measurement_set_name == "U" ),
	SendToReport(
		Dispatch(
			{"Variability Chart for chart_value"},
			"2",
			ScaleBox,
			{Minor Ticks( 1 ), Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
			Add Ref Line( 26.21, "Solid", "Red", "UCL: 26.21", 1 ), Add Ref Line(
				-47.05,
				"Solid",
				"Medium Light Green",
				"Target: -47.05",
				1
			), Add Ref Line( -120.3, "Solid", "Red", "LCL: -120.3", 1 )}
		),
		Dispatch(
			{"Variability Chart for chart_value"},
			"Variability Chart",
			FrameBox,
			{Marker Size( 3 ), Row Legend(
				chart_incontrol_flag,
				Color( 1 ),
				Color Theme( "JMP Default" ),
				Marker( 1 ),
				Marker Theme( "Solid" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		)
	)
);
If(report(vc)[AxisBox(1)]<<get max, < 26.21, report(vc)[AxisBox(1)]<<max(27));
If(report(vc)[AxisBox(1)]<<get min, > -47.05, report(vc)[AxisBox(1)]<<min(-48));

Documentation on manipulating the output Display Tree is found in the JMP Documentation Library, in the Scripting Guide's section on Display Trees.

You can also see the definition of the messages that can be passed to the Axis Boxes in the Scripting Index entry for AxisBox.

Jim

Recommended Articles