Scripting the Width of Column Switcher in Graph BuilderI am scripting several visuals with column switchers and am finding that they default to a larger size than I would expect. I took the example JSL from another similar post Scripting-column-switcher-using-variable but tried to get change the column switcher width. I added a local data filter as I know that one can manipulate the sizes of those objects with "Display()". You may notice that I added this to column switcher below.
Can this be accomplished?
I am asking as users are not able to change this width once posted to JMP Live.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
col_list3 = dt << get column names( Numeric );
For( i = N Items( col_list3 ), i > 0, i--,
If( !Contains( col_list3[i], "PN" ),
Remove From( col_list3, i )
)
);
Graph Builder(
Size( 534, 572 ),
Show Control Panel( 0 ),
Variables( X( :PNP1 ), Y( :NPN1 ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter(
columns( :lot_id ),
Display( :lot_id, Size( 178, 221 ), Height( 221 ) )
)
),
Column Switcher(
:NPN1,
{:NPN1, :PNP2, :NPN2, :PNP3, :PNP4, :NPN3, :NPN4, :NPN5, :PNP5, :NPN6, :PNP6,
:PNP7, :NPN7, :PNP8, :PNP9, :NPN8, :NPN9, :NPN10, :PNM1, :NPN11, :PNP10},
Display( Width( 100 ) )
)
);Automation and ScriptingContent OrganizationData Exploration and VisualizationMass CustomizationRe: Scripting the Width of Column Switcher in Graph BuilderCouple of good ways to see how you can affect things are for example (using gb as example reference):
gb << Show Properties;
gb << Show Tree STructure;
gb << Get Xml; //use with XPath
Also checking JMP Scripting Guide and using Scripting Index will help a lot.
There are also some excellent topics on element/display manipulation can be found from JMP Community. Couple examples:
Supercharge Your User Interfaces in JSL ( US 2018 113 )
Navigating your reports using XPath
Re: Scripting the Width of Column Switcher in Graph BuilderThat did the trick. Starting to finally wrap my head around how JSL works.
Re: Scripting the Width of Column Switcher in Graph BuilderI would add the column switcher in a little bit different manner so you can get reference and then use << Set Size to that reference:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
col_list3 = dt << get column names( Numeric );
For( i = N Items( col_list3 ), i > 0, i--,
If( !Contains( col_list3[i], "PN" ),
Remove From( col_list3, i )
)
);
gb = dt << Graph Builder(
Size( 534, 572 ),
Show Control Panel( 0 ),
Variables( X( :PNP1 ), Y( :NPN1 ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter(
columns( :lot_id ),
Display( :lot_id, Size( 178, 221 ), Height( 221 ) )
)
),
);
colswitcher = gb << Column Switcher(
:NPN1,
{:NPN1, :PNP2, :NPN2, :PNP3, :PNP4, :NPN3, :NPN4, :NPN5, :PNP5, :NPN6, :PNP6,
:PNP7, :NPN7, :PNP8, :PNP9, :NPN8, :NPN9, :NPN10, :PNM1, :NPN11, :PNP10}
);
colswitcher << set size(300,300);You could also check from Right click -> Edit -> Show Properties how to reference Column Switcher that way.