Collegare o bloccare l'asse insieme?CIAO,
Sono un utente JMP e JSL relativamente nuovo e sto cercando di produrre un report con più grafici. Voglio collegare insieme l'asse x di entrambi i grafici, in modo che quando un asse x viene ridimensionato o modificato in altro modo (linea di riferimento aggiunta, ecc.), anche l'altro asse cambia.
Alcune delle piattaforme integrate lo fanno già, come la Carta di controllo, che collega l'asse x per i grafici "Misurazione individuale" e "Intervallo mobile".
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Control Chart( Chart Col( Height, "Individual
Measurement", "Moving Range" ), K Sigma( 3 ) );
Come posso riprodurlo per i miei rapporti/piattaforme personalizzate/ecc.? Non sono stato in grado di capire come il rapporto del grafico di controllo stia realizzando ciò, nonostante abbia esaminato la struttura ad albero e le proprietà delle caselle di visualizzazione.
Ad esempio, come posso collegare i due assi x nel seguente rapporto utilizzando JSL?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Count Axis( 1 )
),
By( :sex )
);
Sto usando JMP 13.2.
Grazie!
ScriptingRe: collegare o bloccare l'asse insieme?Jim ha pubblicato un'eccellente soluzione di esempio qui: Un semplice script per illustrare i cambiamenti dell'asse in un grafico che controlla l'asse in un grafico diverso
Re: collegare o bloccare l'asse insieme?Jim, grazie.
Non penso che questo sia lo stesso metodo utilizzato dai report e dalle piattaforme "incorporati", perché non vedo alcun script grafico nelle proprietà quando ispeziono i grafici e gli assi incorporati. Immagino che stiano usando alcune API nascoste che non sono documentate.
Tuttavia, penso che il tuo metodo sia una soluzione alternativa accettabile che dovrebbe funzionare nella maggior parte dei casi. Le prestazioni non sono eccezionali, ma funziona. Grazie!
Re: collegare o bloccare l'asse insieme?È possibile allegare uno script al frame box() in grado di rilevare le modifiche nell'Axis Box() e quindi reimpostare tutti gli assi ai nuovi valori dall'Axis Box() che è stato reimpostato.
Vedere l'indice di scripting per i dettagli.
Di solito uso in Frame Box << Add Graphics Script un segno di spunta su X Origin e X Range che cambia in Axis Box().
Re: collegare o bloccare l'asse insieme?Colpo. Altre idee in merito? Sicuramente ci sono alcune API/JSL che le piattaforme integrate stanno usando per ottenere questo risultato?
Re: collegare o bloccare l'asse insieme?Stan,
Grazie per la risposta. Questo sembra impostare inizialmente le scale in modo che siano le stesse, ma se prendo uno degli assi e cambio la scala, gli altri assi non si aggiornano, che è quello che stavo cercando di ottenere. Cioè spero di collegarli in modo che siano sempre sincronizzati tra loro, come con il rapporto della piattaforma Control Chart.
Altre idee?
- Erik
Re: collegare o bloccare l'asse insieme?CIAO @ErikSwan ,
Penso che potresti essere in grado di utilizzare il ridimensionamento uniforme.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
obj = Distribution( Column( :BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W ) );
obj << Uniform Scaling( 1 );
obj << Lock Scales( 1 );
obj << Stack( 1 );
Uniform ScalingUniform ScalingRidimensionamento uniforme
Saluti,
Stan