cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Image to Table JMP extension imports single or batch images as data tables. Useful to extract curves from pictures or convert image data to curve data to use in analyses like Functional Data Explorer. Download and install the extension.

Discussions

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

Add legend in Vscroll box

Hi,

 

Is there a way to add graph legends for each plots in a separate Vscroll box so that way I can avoid the blank area between two plots? I have a dashboard and am trying to make the plots more visually appealing.

Jackie__0-1711120262513.png

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
Variability Chart(
	Y( :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 ),
	Model( "Main Effect" ),
	X( :Wafer ID in lot ID ),
	Variability Analysis(
		:NPN1,
		Show Range Bars( 0 ),
		Show Separators( 0 ),
		Std Dev Chart( 0 ),
		Points Jittered( 1 )
	),
	Variability Analysis(
		:PNP1,
		Show Range Bars( 0 ),
		Show Separators( 0 ),
		Std Dev Chart( 0 ),
		Points Jittered( 1 )
	),
	Variability Analysis(
		:PNP2,
		Show Range Bars( 0 ),
		Show Separators( 0 ),
		Std Dev Chart( 0 ),
		Points Jittered( 1 )
	),
	Variability Analysis(
		:NPN2,
		Show Range Bars( 0 ),
		Show Separators( 0 ),
		Std Dev Chart( 0 ),
		Points Jittered( 1 )
	),
	Variability Analysis(
		:PNP3,
		Show Range Bars( 0 ),
		Show Separators( 0 ),
		Std Dev Chart( 0 ),
		Points Jittered( 1 )
	),
	SendToReport(
		Dispatch(
			{"Variability Gauge Analysis for NPN1", "Variability Chart for NPN1"},
			"Variability Chart",
			FrameBox,
			{Row Legend(
				:Wafer ID in lot ID,
				Color( 1 ),
				Color Theme( "JMP Default"(1) ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		),
		Dispatch(
			{"Variability Gauge Analysis for PNP1", "Variability Chart for PNP1"},
			"Variability Chart",
			FrameBox,
			{Row Legend(
				Wafer ID in lot ID,
				Color( 1 ),
				Color Theme( "JMP Default"(1) ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		),
		Dispatch(
			{"Variability Gauge Analysis for PNP2", "Variability Chart for PNP2"},
			"Variability Chart",
			FrameBox,
			{Row Legend(
				Wafer ID in lot ID,
				Color( 1 ),
				Color Theme( "JMP Default"(1) ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		),
		Dispatch(
			{"Variability Gauge Analysis for NPN2", "Variability Chart for NPN2"},
			"Variability Chart",
			FrameBox,
			{Row Legend(
				Wafer ID in lot ID,
				Color( 1 ),
				Color Theme( "JMP Default"(1) ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		),
		Dispatch(
			{"Variability Gauge Analysis for PNP3", "Variability Chart for PNP3"},
			"Variability Chart",
			FrameBox,
			{Row Legend(
				Wafer ID in lot ID,
				Color( 1 ),
				Color Theme( "JMP Default"(1) ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
			)}
		)
	)
);

 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Add legend in Vscroll box

You can try doing something like this but it could potentially mess up lots of different things

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
varchart = dt << Variability Chart(
	Y(:NPN1, :PNP1, :PNP2, :NPN2, :PNP3),
	Model("Main Effect"),
	X(:Wafer ID in lot ID),
	Variability Analysis(:NPN1, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP1, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP2, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:NPN2, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP3, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1))
);


lubs = (Report(varchart) << XPath("//OutlineBox[contains(text(), 'Variability Chart for')]//LineUpBox"));
listboxes = lubs[1::N Items(lubs)::2] << parent;

leg = dt << Color or Mark by Column(
	:Wafer ID in lot ID,
	Color Theme("Universal"(1)),
	Marker(0),
	Make window with legend(1)
);

leg_clone = leg << clone box();
Window("Legend") << Close Window;

For Each({listbox}, listboxes,
	listbox << Append(
		V Scroll Box(
			leg_clone << clone box();
		)
	)
);

-Jarmo

View solution in original post

2 REPLIES 2
jthi
Super User

Re: Add legend in Vscroll box

You can try doing something like this but it could potentially mess up lots of different things

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
varchart = dt << Variability Chart(
	Y(:NPN1, :PNP1, :PNP2, :NPN2, :PNP3),
	Model("Main Effect"),
	X(:Wafer ID in lot ID),
	Variability Analysis(:NPN1, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP1, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP2, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:NPN2, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1)),
	Variability Analysis(:PNP3, Show Range Bars(0), Show Separators(0), Std Dev Chart(0), Points Jittered(1))
);


lubs = (Report(varchart) << XPath("//OutlineBox[contains(text(), 'Variability Chart for')]//LineUpBox"));
listboxes = lubs[1::N Items(lubs)::2] << parent;

leg = dt << Color or Mark by Column(
	:Wafer ID in lot ID,
	Color Theme("Universal"(1)),
	Marker(0),
	Make window with legend(1)
);

leg_clone = leg << clone box();
Window("Legend") << Close Window;

For Each({listbox}, listboxes,
	listbox << Append(
		V Scroll Box(
			leg_clone << clone box();
		)
	)
);

-Jarmo
hogi
Level XIII

Re: Add legend in Vscroll box

One could also directly copy the Display Box of the legend and paste it again to Scroll Boxes.

 

The general issue with these approaches:
The legend loses it's interactivity :(

 

There is a Request in the wish list from May 2023:

Graph Builder - open legend in new window (or in it's own ScrollBox) 

up to now it did not collect any Kudo - so most probably it will get archived soon.

Recommended Articles