Gestion de l'affichage conditionnel des variables de l'axe Y dans JSL pour la création de graphiquesLorsque j'utilise « graph built », comment puis-je décrire l'exigence dans JSL selon laquelle certaines variables de l'axe Y, qui ne s'affichent pas toujours, doivent être affichées si elles ont des valeurs et non affichées si elles n'ont pas de valeurs ? Les deux méthodes suivantes n'ont pas été efficaces.
1.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), try(Y( :bbb )), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);2.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :bbb ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);Automatisation et scriptsRé : Gestion de l'affichage conditionnel des variables de l'axe Y dans JSL pour la création de graphiquesSalut @BabyDoragon , bbb est-il une colonne qui existe ou non et c'est ce que nous devons vérifier, ou bbb est toujours là mais certaines valeurs (lignes) manquent ?
Ré : Gestion de l'affichage conditionnel des variables de l'axe Y dans JSL pour la création de graphiquesLa valeur par défaut de bbb est {}, et parfois elle peut être stockée en tant que variable, par exemple dans les deux cas suivants.
1.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
bbb={};
bbb="age";
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( as column(bbb)), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);2.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
bbb={};
//bbb="age";
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( as column(bbb)), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 13 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 14 ) ) ),
Elements( Position( 1, 3 ), Points( X, Y, Legend( 15 ) ) )
);J'espère permettre au graphique d'inclure ou d'exclure automatiquement cet élément en fonction de la présence ou non de variables actuellement dans bbb.
Ré : Gestion de l'affichage conditionnel des variables de l'axe Y dans JSL pour la création de graphiquesVous pouvez créer l'expression ou ajouter une variable plus tard
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(534, 450),
Show Control Panel(0),
Variables(X(:sex), Y(:height), Y(:weight)),
Elements(Position(1, 1), Points(X, Y, Legend(13))),
Elements(Position(1, 2), Points(X, Y, Legend(14)))
);
dt << new column("A", Numeric, Continuous, Formula(Row()));
extra_cols = {"height", "A"};
For Each({extra_col}, extra_cols,
Eval(EvalExpr(
gb << Add Variable({Expr(NameExpr(AsColumn(dt, extra_col))), Role("Y")});
));
);
Selon ce que vous cherchez à faire, il peut y avoir pas mal de choses à prendre en compte (ordre, type de tracés, légende, ...)
Si je me souviens bien, cela pourrait avoir quelque chose en rapport avec ce sujet Enregistrement du Scripters Club : JSL dans Graph Builder