Ciao a tutti,
Ho lavorato su questa idea per la scorsa settimana o giù di lì e @gzmorgan0 mi ha aiutato con questo post
https://community.jmp.com/t5/Discussions/creating-an-index-for-columns-to-point-to-the-graph/mp/71555#M35439
diciamo ad esempio, eseguo il ciclo di 5 colonne continue e 2 colonne nominali, traccio un'analisi unidirezionale di 10 colonne (diciamo nw2). Ottengo il valore p e altri parametri in una tabella. Voglio che la tabella sia ordinata in ordine crescente di p-value. Posso avere la mia tabella in una nuova finestra (nw1) e ciascuna riga (poiché la riga ha entrambi gli assi X e Y appropriati relativi al grafico) nella tabella dovrebbe fare riferimento al grafico appropriato in nw2? Table Box (Data table col box) è la strategia giusta o c'è qualche altra funzione che dovrei esaminare?
Apprezzo qualsiasi contributo/commento/suggerimento.
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() ) );Sì, pensavo che un visualizzatore a finestra singola sarebbe stato il migliore e avevo lo stesso problema che la finestra di scorrimento non funzionava per una casella di scorrimento nidificata. L'ho segnalato a JMP in modo che gli sviluppatori siano a conoscenza del problema.L'assistenza JMP ha fornito lo script allegato che dimostra l'utilizzo di << Ottieni offset per trovare la posizione in modo più affidabile.
gzmorgan sembra aver risposto alla tua domanda, ma mi hai inviato un messaggio privato, quindi ho pensato di approfondire la casella di scorrimento.In allegato c'è una modifica dell'implementazione di gzmorgan per utilizzare una finestra anziché due.
Lo svantaggio della casella di scorrimento è che non supporta il comando << Scroll Window() per qualsiasi motivo.
Questo ha richiesto un po' più di quello che ho documentato.Uno script di esempio è allegato.
Non capisco davvero la tua domanda, il tuo codice sembra fare quello che stai chiedendo.Tuttavia, non vorrei mai che una finestra influisse sui risultati di una seconda finestra.Ti suggerirei di inserire sia il filtro che i grafici unidirezionali nella stessa finestra e puoi dividerli con una casella di scorrimento.