Hola,
Tengo el siguiente script jsl que llenó los gráficos de GB en función de los valores de las columnas de la lista. El problema es que el orden de la trama es incorrecto por algún motivo.
Por ejemplo, la lista 1 tiene las columnas en el siguiente orden:
Lista1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
El bucle intercambia la primera columna con la última; vea abajo. ¿Existe alguna solución?

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
var expr1 = Expr( Variables() );
For( c = 1, c <= N Items( List1 ), c++,
x expr1 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr1, List1[c], 1 );
Insert Into( var expr1, Name Expr( x expr1 ) );
);
var expr2 = Expr( Variables() );
For( c = 1, c <= N Items( List2 ), c++,
x expr2 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr2, List2[c], 1 );
Insert Into( var expr2, Name Expr( x expr2 ) );
);
var expr3 = Expr( Variables() );
For( c = 1, c <= N Items( List3 ), c++,
x expr3 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr3, List3[c], 1 );
Insert Into( var expr3, Name Expr( x expr3 ) );
);
var expr4 = Expr( Variables() );
For( c = 1, c <= N Items( List4 ), c++,
x expr4 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr4, List4[c], 1 );
Insert Into( var expr4, Name Expr( x expr4 ) );
);
lists = {"List1", "List2", "List3", "List4"};
var = {};
gbv = {};
For( i = 1, i <= 4, i++,
Insert Into( var, Name Expr( Eval( Parse( "var expr" || Char( i ) ) ) ) );
Insert Into( gbv, Parse( "vvv" || Char( i ) ) );
);
nw = New Window( "Plots", Show Menu( 0 ), show toolbars( 0 ), tb = Tab Box() );
For( i = 1, i <= N Items( lists ), i++,
tb << Add(
lists[i],
V List Box(
H List Box(
Eval(
Eval Expr(
gb= dt << Graph Builder(
Size( 1117, 781 ),
Show Control Panel( 0 ),
////something is not correct here?????
Expr( Name Expr( var[i] ) ),
Elements(
Histogram(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 2 ),
),
Box Plot(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 3 ),
Outliers( 0 )
)
)
)
)
),
Tabulate(
Show Control Panel( 0 ),
Set Format( Uniform Format( 10, 2 ) ),
Add Table(
Column Table( Statistics( Mean, Std Dev ) ),
Row Table(
Analysis Columns(
Eval( Parse( lists[i] ) )
)
)
)
)
)
)
);
);Gracias,
Jackie
Eche un vistazo al script que le proporciona Graph Builder
Graph Builder(
Size(1117, 781),
Show Control Panel(0),
Variables(
X(:NPN1, Combine("Parallel Merged")),
X(:PNP1, Position(1), Combine("Parallel Merged")),
X(:PNP2, Position(1), Combine("Parallel Merged")),
X(:NPN2, Position(1), Combine("Parallel Merged")),
X(:PNP3, Position(1), Combine("Parallel Merged")),
X(:IVP1, Position(1), Combine("Parallel Merged"))
),
Elements(
Histogram(X(2), X(3), X(4), X(5), X(6), X(1), Legend(2)),
Box Plot(X(2), X(3), X(4), X(5), X(6), X(1), Legend(3), Outliers(0))
),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(Hist Seg("Histogram (NPN2)"), Bin Span(1500, 240)),
DispatchSeg(Hist Seg("Histogram (PNP3)"), Bin Span(750, 300)),
DispatchSeg(Hist Seg("Histogram (IVP1)"), Bin Span(750, 150)),
DispatchSeg(Hist Seg("Histogram (NPN1)"), Bin Span(240, 24))}
)
)
)
X(1) es el último. Lo mismo con tu script Graph Builder
