Verehrte Gäste:
Ich möchte ein Paralleldiagramm erstellen
Die X-Achse ist Teil der Spalte in der Tabelle
So erstellen Sie mit jsl
Ich versuche auch, variable() hinzuzufügen, aber es funktioniert nicht
Danke
<< Variable hinzufügen sollte funktionieren, aber einige Fälle können komplizierter sein
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 448),
Show Control Panel(0),
Variables(X(:weight), X(:height, Position(1))),
Elements(Parallel(X(1), X(2), Legend(9)))
);
wait(1); // for demo purposes
gb << Add Variable({:age, Role("X"), Position(1)});
Danke,
Haben Sie eine andere Frage?
Jetzt kann ich mit „Variable hinzufügen“ X-Variablen zum Graph Builder hinzufügen.
kann aber nicht zum parallelen Diagramm wechseln, um die X-Variable (auto) durch die Verwendung von „Element hinzufügen“ hinzuzufügen
Bitte beachten Sie den Anhang
Danke
Names Default To Here(1);
dt=Current Data Table();
colnames=dt<< get column names( "character" );
remove from(colnames,nitems(colnames));
remove from(colnames,1);
variables_expr = Expr(Variables(X(:X__1)));
gb = dt << Graph Builder(
Size( 1854, 917 ),
Show control Panel(0),
Variables(X(:X__1)),
Color( :color ),
Size( :Amt )
);
gb << inval;
For Each({x_col, idx}, colnames,
Eval(EvalExpr(
gb << Add Variable({Expr(Name Expr(As Column(dt, x_col))), Role("X"),position(1)})
));
);
<FONT color="#0000FF">// question</FONT>
<FONT color="#0000FF">gb << Add Element( 1, 1, {Type( "Parallel" ),Legend( 4 ),Combine Sets( 1 )} );</FONT>
gb << Update window;
Wenn Sie den Parallelplot von Hand erstellen und das Skript überprüfen
Graph Builder(
Size(490, 448),
Show Control Panel(0),
Variables(
X(:X__1),
X(:X__2, Position(1)),
X(:X__3, Position(1)),
X(:X__4, Position(1)),
X(:X__5, Position(1))
),
Elements(Parallel(X(1), X(2), X(3), X(4), X(5), Legend(18)))
)
und vergleichen Sie es dann mit Ihrem Skript (erstellen Sie es und holen Sie sich dann das Skript aus dem roten Dreieckmenü)
Graph Builder(
Size(1854, 917),
Show Control Panel(0),
Variables(
X(:X__1),
X(:X__2, Position(1)),
X(:X__3, Position(1)),
X(:X__4, Position(1)),
X(:X__5, Position(1))
),
Elements(
Points(X(1), X(2), X(3), X(4), X(5), Legend(5)),
Parallel(Legend(4), Combine Sets(1))
)
)
Es gibt nur wenige große Unterschiede: Sie haben noch Punkte übrig und Sie haben X() in Ihrem Skript lediglich nicht definiert.
Wenn Sie dies tun möchten, würde ich vorschlagen, den Graph Builder-Ausdruck zu erstellen und nicht << Variable hinzufügen und << Element hinzufügen zu verwenden, da dies einfacher sein kann
Names Default To Here(1);
dt = Current Data Table();
colnames = dt << get column names("character");
Remove From(colnames, N Items(colnames));
Remove From(colnames, 1);
variables_expr = Expr(Variables(X(:X__1)));
parallel_expr = Expr(Parallel(X(1)));
For Each({colname, idx}, colnames,
xpart = EvalExpr(X(Expr(NameExpr(AsColumn(dt, colname))), Position(1)));
Insert Into(variables_expr, Name Expr(xpart));
Eval(EvalExpr(
Insert Into(parallel_expr, Name Expr(X(Expr(idx + 1))));
));
);
Insert Into(parallel_expr, Name Expr(Legend(18)));
elements_expr = Expr(Elements());
InsertInto(elements_expr, NameExpr(parallel_expr));
gb = Eval(Substitute(
Expr(dt << Graph Builder(
Size(1854, 917),
Show control Panel(0),
_variables_,
_elements_,
Color(:color),
Size(:Amt)
)),
Expr(_variables_), Name Expr(variables_expr),
Expr(_elements_), Name Expr(elements_expr)
));