Boîte de programmation Sauter la ligneJ'essaie de sauter une rangée de graphiques dans la zone de programmation. Par exemple, au lieu d'une grille 4x4, je veux 4 graphiques sur la première ligne, 3 graphiques sur la 2ème ligne, etc. Existe-t-il un moyen de sauter une ligne ou d'ajouter un saut de ligne dans la zone Lineup ?
dt = current data table();
//where dtLookup is the data table containing a list of X and Y columns to plot from dt
nw = New Window( "Outputs", lub = Lineup Box( N Col( 4 ) ) );
For Each Row(dtLookup,
lub << append(
dt <<
Graph Builder(
Size( 500, 350 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( As Column( dt, col_name_X ) ), Y( As Column( dt, col_name_Y) )),
Elements( Points( X, Y, Legend( 5 ) ) )
));
ScriptRe: Ignorer la ligne de la boîte de programmationSalut,
Je ne connais pas de fonction "Skip" pour la Lineup Box, mais il existe une solution de contournement qui nécessitera un peu de programmation impliquant l'insertion de Spacer Boxes (de la même taille que votre tracé) pour chaque emplacement que vous souhaitez ignorer.
Cependant, cela devient un peu délicat car vous devez sauter 0 emplacement pour la première ligne, 1 emplacement pour la deuxième ligne et 2 emplacements pour la troisième ligne ; vous n'avez pas besoin de sauter d'emplacement pour la dernière ligne.
Désolé pour la réponse incomplète : je n'ai pas le temps de travailler sur votre script mais vous pourrez peut-être le comprendre.
Meilleur,
ST
Re: Ignorer la ligne de la boîte de programmationSi vous savez comment vous souhaitez créer les boîtes de programmation avec un nombre de colonnes spécifique, vous pouvez peut-être ajouter la boîte de programmation avant d'ajouter de nouveaux graphiques.
Cela se brisera très probablement assez facilement car il veut que vous ayez exactement 10 valeurs (1+2+3+4) dans dtlookup (en utilisant list au lieu de datatable ici).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
dtlookup = {"NPN1", "PNP1","PNP2","NPN2","PNP3","IVP1","PNP4","NPN3","IVP2","NPN4"};
lub_idx = 4;
ongoing_gb = lub_idx;
nw = New Window("Outputs", vlb = V List Box(lub = Lineup Box(N Col(lub_idx))));
For(i = 1, i <= N items(dtlookup), i++,
If(ongoing_gb > 0,
lub << append(
dt << Graph Builder(
Size(200, 150),
Show Control Panel(0),
Show Legend(0),
Variables(X(As Column(dt, dtlookup[i])), Y(As Column(dt, "lot_id"))),
Elements(Points(X, Y, Legend(5)))
)
);
ongoing_gb--;
,
lub_idx = lub_idx - 1;
ongoing_gb = lub_idx;
vlb << Append(lub = Lineup Box(N Col(lub_idx)));
)
);
Ou éventuellement, vous pouvez utiliser V List Box() et H List Box() et vérifier les indices.