Handhabung der bedingten Anzeige von Y-Achsenvariablen in JSL zum Erstellen von GraphenWie kann ich bei Verwendung von „Graph erstellt“ die Anforderung in JSL beschreiben, dass bestimmte Y-Achsenvariablen, die möglicherweise nicht immer angezeigt werden, angezeigt werden sollen, wenn sie Werte haben, und nicht angezeigt werden sollen, wenn sie keine Werte haben? Die folgenden beiden Methoden haben sich als nicht effektiv erwiesen.
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 ) ) )
);Automatisierung und SkriptingBetreff: Umgang mit der bedingten Anzeige von Y-Achsenvariablen in JSL zum Erstellen von DiagrammenHallo @BabyDoragon , ist bbb eine Spalte, die entweder existiert oder nicht und die wir überprüfen müssen, oder ist bbb immer da, aber einige Werte (Zeilen) fehlen?
Betreff: Umgang mit der bedingten Anzeige von Y-Achsenvariablen in JSL zum Erstellen von DiagrammenDer Standardwert von bbb ist {} und kann manchmal als Variable gespeichert werden, beispielsweise in den folgenden beiden Fällen.
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 ) ) )
);Ich hoffe, dass ich es dem Diagramm ermöglichen kann, dieses Element automatisch ein- oder auszuschließen, je nachdem, ob derzeit irgendwelche Variablen im BBB vorhanden sind.
Betreff: Umgang mit der bedingten Anzeige von Y-Achsenvariablen in JSL zum Erstellen von DiagrammenSie können den Ausdruck später erstellen oder Variablen hinzufügen
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")});
));
);
Abhängig davon, was Sie versuchen, müssen möglicherweise einige Dinge berücksichtigt werden (Reihenfolge, Art der Diagramme, Legende usw.).
Wenn ich mich richtig erinnere, könnte dies etwas mit diesem Thema zu tun haben : Scripters Club Recording: JSL in Graph Builder