Come fare riferimento dinamicamente all'asse y di un riquadro di scala nel Costruttore di grafici utilizzando JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />O ovunque, se è per questo.
Sto scrivendo una funzione che genera alcuni grafici specialistici per il lavoro. Sto facendo qualche disegno extra sulla tela e ho bisogno che il grafico si riaggiusti sull'asse y per adattarlo a tutto. Posso raggiungere questo obiettivo ottenendo il massimo e il minimo di ogni punto che sto tracciando e impostandoli (+/- 5%) come limiti superiore e inferiore. Tuttavia, affinché le modifiche abbiano effetto, devo chiamare l'etichetta dell'asse. Ho provato i numeri di indice. Ho provato a memorizzare il nome come variabile e a chiamare la variabile. Nessuno dei miei tentativi sembra funzionare e la documentazione non è completa su questo argomento.
Esempio:
All'interno del generatore di grafici e invio al rapporto ho:
| | Spedizione({}, |
| | | "Il nome dell'Asse", |
| | | ScaleBox, |
| | | {Formato( "Fisso Dec", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), Segno di spunta minore( 1 )} |
| | ), |
Per farlo funzionare in una funzione, al momento devo codificare il nome. Vorrei che si aggiornasse dinamicamente indipendentemente dal grafico che sto tracciando.
Qualcosa con l'effetto di
| | Spedizione({}, | |
| | | Asse Y, |
| | | ScaleBox, |
| | | {Formato( "Fisso Dec", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), Segno di spunta minore( 1 )} |
| | ), | |
È quello che sto cercando.
Re: Come fare riferimento dinamicamente all'asse y di un riquadro di scala nel Graph Builder utilizzando JSLIn seguito all'esempio di Jim, è possibile utilizzare XPath() per ottenere un elenco di tutti gli AxisBox nel report.Quindi è possibile scorrere l'elenco apportando le modifiche desiderate secondo necessità.Quanto segue dimostra XPath() e quindi seleziona semplicemente ciascun asse in un ciclo For.
/* Ottiene un elenco di tutti gli AxisBox nel report */
gbAxis = Rapporto ( GB ) << XPath ( "//AxisBox" ) ;
/* Passa in rassegna ciascuno per vedere a quale asse fa riferimento */
Per ( io = 1 , io <= N articoli ( gbAxis ) , io ++,
gbAxis [ io ] << Selezionare ;
Aspettare ( 1 ) ;
) ;
Spero che aiuti!
Wendy
Re: Come fare riferimento dinamicamente all'asse y di un riquadro di scala nel Graph Builder utilizzando JSLQuesto ha risolto perfettamente il mio problema. Grazie Jim. La mia funzione è ancora in fase di elaborazione: renderla sufficientemente generica da poterla condividere, ma una volta che l'avrò capito, la pubblicherò qui nella comunità JMP una volta che l'avrò resa sufficientemente generica.
Per chiunque se lo chiedesse, credo che il mio problema sia che stavo cercando di fare riferimento al rapporto all'interno del rapporto, prima che fosse completamente generato (anche se potrei sbagliarmi lì).
Re: Come fare riferimento dinamicamente all'asse y di un riquadro di scala nel Graph Builder utilizzando JSLPoni una domanda interessante riguardante l'identificazione degli assi nel Costruttore di grafici.Ho dato un'occhiata alla struttura degli assi utilizzata dal Costruttore di grafici e sembra che abbia un'organizzazione che è possibile utilizzare.

Il grafico del Costruttore di grafici sopra ha un asse Y e diversi assi X.La struttura dei grafici che ho provato utilizzava sempre l'Asse 1 come primo asse X e l'Asse 2 come primo asse Y.Quindi, utilizzando il codice seguente, anche quando il tipo di grafico è stato modificato, il numero dell'asse è rimasto lo stesso.
Nomi predefiniti qui ( 1 ) ;
dt = aprire ( "$SAMPLE_DATA/capacità semiconduttore.jmp" ) ;
GB = Costruttore di grafici(
Misurare( 593 , 526 ) ,
Mostra pannello di controllo( 0 ) ,
Variabili( X( : PNP1) , Y( : NPN1) , Gruppo X( : LUOGO ) ) ,
Elementi( Punti( X , Y , Leggenda( 5 ) ) , Più liscio (X , Y , Leggenda( 6 ) ) )
) ;
rapporto (gb)[Riquadro dell'asse( 1 )] << min ( 150 ) ;
Il riferimento Axis Box(2) modificherebbe l'asse Y.
Ci sono anche i riquadri degli assi 3,4,5 e 6, che sono gli altri 5 assi X visualizzati.

In questo esempio è stata aggiunta una seconda variabile all'asse Y, tuttavia, Axis Box(1) è ancora il primo asse X, Axis Box(2) è l'asse Y per la colonna superiore, "PNP4", mentre Axis Box( 3) è l'asse Y per la colonna "NPN1".
Nomi predefiniti qui ( 1 ) ;
dt = aprire ( "$SAMPLE_DATA/capacità semiconduttore.jmp" ) ;
GB = Costruttore di grafici(
Misurare( 593 , 526 ) ,
Mostra pannello di controllo( 0 ) ,
Variabili( X( : PNP1) , Y( : PNP4) , Y( : NPN1) , Gruppo X( : LUOGO ) )) ;
Se non usi il mouse, fai clic sul triangolo di espansione grigio e seleziona
Modifica==>Mostra struttura ad albero
dovresti essere in grado di determinare la struttura del riquadro dell'asse per i grafici che stai utilizzando e sarai in grado di determinare a livello di codice come fare riferimento al riquadro dell'asse corretto
Re: Come fare riferimento dinamicamente all'asse y di una casella di scala in Graph Builder usando JSLDopo aver avuto accesso ai singoli oggetti asse, il compito successivo è scoprire quale asse appartiene a quale "asse".
Il primo asse è l'asse x o l'asse y?
E per quanto riguarda gli altri tipi di grafici? La stessa logica vale per Caselle del generatore di grafici e Caselle grafiche ?
Per favore, dai un'occhiata a questo desiderio:
Rendi più semplice ottenere risultati dai report tramite JSL
Oltre a ottenere risultati dal report , è anche possibile semplificare il modo di modificare un report.
Il comando Spedizione è ben equipaggiato: è possibile utilizzare direttamente informazioni come "Titolo X" per controllare dove inviare il messaggio:
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "xxx" )} ) )
Per Percorso XPath , questo non sembra ancora possibile...