- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Graph Builder how do i make it detect the variables and insert them in?
NX = 5; //NX NY are to specify the matrix indices for Graph builder
NY = 5;
If( Is Missing(colX1[i]), NX = NX - 1 );
If( Is Missing(colX2[i]), NX = NX - 1 );
If( Is Missing(colX3[i]), NX = NX - 1 );
If( Is Missing(colX4[i]), NX = NX - 1 );
show(NX);
If( Is Missing(colY1[i]), NY = NY - 1 );
If( Is Missing(colY2[i]), NY = NY - 1 );
If( Is Missing(colY3[i]), NY = NY - 1 );
If( Is Missing(colY4[i]), NY = NY - 1 );
show(NY);
x_vars = {}; // make empty list for x and y variables
y_vars = {};
X = colX[i];
X1 = colX1[i];
X2 = colX2[i];
X3 = colX3[i];
X4 = colX4[i];
Y = colY[i];
Y1 = colY1[i];
Y2 = colY2[i];
Y3 = colY3[i];
Y4 = colY4[i];
If( !Is Missing(colX[i]), Insert Into( x_vars, X ) );
If( !Is Missing(colX1[i]), Insert Into( x_vars, X1) );
If( !Is Missing(colX2[i]),Insert Into( x_vars, X2) );
If( !Is Missing(colX3[i]), Insert Into( x_vars, X3) );
If( !Is Missing(colX4[i]), Insert Into( x_vars, X4) );
If( !Is Missing(colY[i]), Insert Into( y_vars, Y) );
If( !Is Missing(colY1[i]), Insert Into( y_vars, Y1) );
If( !Is Missing(colY2[i]), Insert Into( y_vars, Y2) );
If( !Is Missing(colY3[i]), Insert Into( y_vars, Y3) );
If( !Is Missing(colY4[i]), Insert Into( y_vars, Y4) );
show(x_vars);
show(y_vars);
GB = Current Data Table() << Graph Builder(
Size( 621, 472 ),
Variables(
X(x_vars),
Y(y_vars)
),
// the for loops is used together with the NX and NY part from above
For( i = 1, i <= NX, i++,
For( j = 1, j <= NY , j++,
If( i == 1 & j == 1,
Elements(
Position( i, j ),
Points( X, Y, Legend( 67 ) ),
Smoother( X, Y, Legend( 68 ) )
),
Elements(
Position( i, j ),
Points( X, Y, Legend( 68 + (i - 1) * 5 + (j - 2) ) ),
Smoother( X, Y, Legend( 69 + (i - 1) * 5 + (j - 2) ) )
)
)
)
),
SendToReport(
Dispatch(
{},
"Graph",
ScaleBox,
{Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
)
)
);
Hi all, how can script it in such a way that it detects which of my variables is not empty and adds it in the X( ) and Y( ) of Variables shown below.
What i have now is shown above where it will detect which is not missing and add it to a list then from that list try to add it into variables shown below how do i continue?
thanks for reading
Variables(
X(x_vars),
Y(y_vars)
),
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Graph Builder how do i make it detect the variables and insert them in?
Hi @Dyan ,
Is the following graphic what you want to create? If so, here is a sample script.
x_vars = "";
y_vars = "";
xlist = {X, X1, X2, X3, X4} = Eval List( {colX[i], colX1[i], colX2[i], colX3[i], colX4[i]} );
ylist = {Y, Y1, Y2, Y3, Y4} = Eval List( {colY[i], colY1[i], colY2[i], colY3[i], colY4[i]} );
For( x_i = 1, x_i <= N Items( xlist ), x_i++,
If( !Is Empty( xlist[x_i] ),
x_vars = x_vars || "X(" || Char( Eval Expr( xlist[x_i] ) ) || "),"
)
);
For( y_i = 1, y_i <= N Items( ylist ), y_i++,
If( !Is Empty( ylist[y_i] ),
y_vars = y_vars || "Y(" || Char( Eval Expr( ylist[y_i] ) ) || "),"
)
);
Show( x_vars );
Show( y_vars );
Eval(
Parse(
Eval Insert( "\[GB = Current Data Table() << Graph Builder(
Size( 621, 472 ),
Variables( ^x_vars^ ^y_vars^ ),
)
;]\" )
)
);
The following discussion page refers to a similar question. https://community.jmp.com/t5/Discussions/JSL-Script-Graph-Builder-to-plot-all-columns-of-a-data-tabl...
You can also learn about expressions on the page below. https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Ins...
I hope it helps.