cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
Jackie_
Level VI

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 XI

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.