Ajout de conditions aux variables dans le générateur de graphiques en JSLSalut tout le monde,
J'essaie de modifier le code du générateur de graphiques qui comporte certaines variables. Je voudrais ajouter des instructions conditionnelles pour inclure ou exclure ces certaines variables. J'ai essayé d'utiliser les instructions if, mais cela ne semble pas fonctionner correctement. J'apprécierais toute suggestion en la matière.
Exemple de code :
Je veux prendre une entrée de l'utilisateur (déjà fait avec cette partie), pour évaluer si l'utilisateur veut les résultats par rapport à la température du test (par exemple). J'ai d'autres variables sur lesquelles tracer, mais j'ai fourni une température de test pour simplifier l'exemple.
// x will be taken as an input
Graph Builder(
Size( 1257, 829 ),
Level Spacing Color( "Black" ),
Variables( Y( :TX_EVM ), Y( :TX_EVM ), If( Equal( X, 1 ), Group X( :Test_Temp ) ) ),
Elements( Box Plot( Y, Legend( 19 ) ) ),
Local Data Filter(
Add Filter(
columns( :Test_Temp ),
Where( :Test_Temp == {"test temp1 ", "test temp2", "test temp3"} )
)
)
);
Modélisation statistique avancéeAutomatisation et scriptsAnalyse et modélisation des données de baseles fenêtresRe: Ajout d'une condition aux variables dans le générateur de graphiques en JSLL'option la plus simple consiste probablement à supprimer la variable après la création du graphique.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 492),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Group X(:sex)),
Elements(Points(X, Y, Legend(5)))
);
// gb << Get Variables; // depending on your graph calculating which index to remova can be a good idea
gb << Remove Variable(3);
wait(0);
Vous pouvez également créer la partie Variables() du message Graph Builder() à l'aide d'expressions
Re: Ajout d'une condition aux variables dans le générateur de graphiques en JSLVous devrez peut-être encapsuler votre TestList[i3] avec quelque chose. Vous trouverez ci-dessous quelques options
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol = "weight";
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(mycol)), // won't work
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
);
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(Eval(mycol))), // might work
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
);
Eval(EvalExpr(
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:age), X(:sex), Y(Expr(NameExpr(AsColumn(mycol))))), // works
Elements(Position(1, 1), Points(X, Y, Legend(6))),
Elements(Position(2, 1), Points(X, Y, Legend(7)))
)
));
Re: Ajout d'une condition aux variables dans le générateur de graphiques en JSLMerci Jarmo pour ton aide. Ton code fonctionne parfaitement bien, mais lorsque j'implémente la même technique sur mon code d'origine, cela ne fonctionne pas. Mon code crée en fait plusieurs générateurs de graphiques et les ajoute. J'ai essayé de supprimer des variables après chaque générateur de graphiques, mais cela ne semble pas faire de différence.
Une version simplifiée du code que j'ai est la suivante :
gb = {}; // initiate list
// loop through the test list
index = N Items( gb );//
gb[index + 1]= New Window( "Capability", hlb = H List Box() );
hlb << append(//
Graph Builder(
Size( 1800, 700),//
Variables(
X( :Temp, Position( 1 ) ),
X( :Location, Position( 1 ) ),
Y( TestList[i3] ), // this is
),
Elements( Histogram( X( 1 ), X( 2 ), X( 3 ), Y, Legend( 46 ), Means and Std Devs( 1 )),Smoother( X( 1 ), X( 2 ), X( 3 ), X( 4 ), Y, Legend( 49 ) ) ,Caption Box(
X( 1 ),
X( 2 ),
X( 3 ),
Y,
Legend( 51 ),
Summary Statistic( "Mean" ),
) ),
Local Data Filter(
.
.
.
.
.
.
.
),
SendToReport(
.
.
.
.
.
.
.
)
);
);
//end loop<BR />