Salut tout le monde,
Je travaille sur cette idée depuis une semaine environ et @gzmorgan0 m'a aidé avec ce post
https://community.jmp.com/t5/Discussions/creating-an-index-for-columns-to-point-to-the-graph/mp/71555#M35439
disons par exemple, je boucle à travers 5 colonnes continues et 2 colonnes nominales, je trace une analyse à sens unique de 10 colonnes (disons nw2). J'obtiens la valeur p et d'autres paramètres dans un tableau. Je veux que le tableau soit trié dans l'ordre croissant de la valeur p. Puis-je avoir mon tableau dans une nouvelle fenêtre (nw1) et chacune des lignes (car la ligne a à la fois les axes X et Y appropriés relatifs au graphique) dans le tableau doit faire référence au graphique approprié dans le nw2 ? Est-ce que Table Box (Data table col box) est la bonne stratégie ou y a-t-il une autre fonction que je devrais examiner?
J'apprécie toute contribution/commentaire/suggestion.
Names Default To Here( 1 );
dt = Open( "$Sample_Data/Big Class.jmp" );
ynames = {"weight", "height"};
xnames = {"sex", "age"};
pnames = {};
nw2 = New Window( "Custom Display", vl = V List Box() );
nw2 << Size Window( 724, 395 );
For( i = 1, i <= N Items( ynames ), i++,
For( j = 1, j <= N Items( xnames ), j++,
Insert Into( pnames, ynames[i] || " by " || xnames[j] );
vl << Append(
Oneway(
Y( Column( dt, ynames[i] ) ),
X( Column( dt, xnames[j] ) ),
Box Plots( 1 ),
Comparison Circles( 0 ),
X Axis Proportional( 0 ),
Means Diamonds( 1 ),
Points Jittered( 1 ),
SendToReport(
Dispatch(
{},
"Oneway",
OutlineBox,
{Set Title( Eval Insert( "^ynames[i]^ ^xnames[j]^ Comparison Report" ) )}
)
)
)
);
); //end for j
); //end for i
plb = List Box( pnames, width( 100 ), maxSelected( 1 ) );
nw1 = New Window( "Filter", plb );
_xx = (nw2 << Child) << xpath( "//OutlineBox[@helpKey='Oneway Report']" );
plb << Set Function(
Function( {this},
k = (this << get Selected Indices)[1];
nw2 << Scroll Window( _xx[k] );
)
);
nw1 << Bring Window to Front;
nw2 << Bring Window to Front;
nw1 << Move Window( 10, 10 );
nw2 << move Window( 180, 10 );
//Add a try in case the window is already closed
nw2 << On close( Try( nw1 << Close Window() ) );Oui, je pensais qu'une visionneuse à fenêtre unique serait la meilleure et j'avais le même problème que la fenêtre de défilement ne fonctionnerait pas pour une boîte de défilement imbriquée. Je l'ai signalé à JMP afin que les développeurs soient au courant du problème.L'assistance JMP a fourni le script joint qui illustre l'utilisation de << Get Offset pour trouver la position de manière plus fiable.
gzmorgan semble avoir répondu à votre question, mais vous m'avez envoyé un message privé, alors j'ai pensé à élaborer sur la boîte de défilement.Vous trouverez ci-joint une édition de l'implémentation de gzmorgan pour utiliser une fenêtre plutôt que deux.
L'inconvénient de la boîte de défilement est qu'elle ne prend pas en charge la commande << Scroll Window() pour une raison quelconque.
Cela a pris un peu plus que ce que j'ai documenté.Un exemple de script est joint.
Je ne comprends pas vraiment votre question, votre code semble faire ce que vous demandez.Cependant, je n'aurais jamais une fenêtre affecter les résultats d'une seconde fenêtre.Je vous suggère de mettre à la fois votre filtre et vos tracés à sens unique dans la même fenêtre, et vous pouvez les diviser avec une boîte de défilement.