Carissimi:
Voglio creare un grafico parallelo
L'asse X fa parte della colonna nella tabella
Come creare utilizzando jsl
Provo anche ad aggiungere variabile() ma non può funzionare
Grazie
<< Aggiungi variabile dovrebbe funzionare ma alcuni casi possono essere più complicati
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)});
Grazie,
Hai altre domande?
Ora posso usare Aggiungi variabile per aggiungere variabili X al generatore di grafici,
ma non è possibile passare al grafico parallelo per aggiungere la variabile X (automatica) utilizzando Aggiungi elemento
Si prega di fare riferimento all'allegato
Grazie
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;
Se costruisci il grafico parallelo a mano e controlli lo script
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)))
)
e poi confrontalo con il tuo script (compilalo e poi ottieni lo script dal menu del triangolo rosso)
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))
)
)
Ci sono alcune grandi differenze: hai ancora dei punti e non hai ancora definito X() nel tuo script.
Se questo è ciò che desideri fare, ti suggerisco di creare l'espressione del generatore di grafici e di non utilizzare << Aggiungi variabile e << Aggiungi elemento poiché potrebbe essere più semplice
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)
));