Come impostare il ridimensionamento automatico dell'asse con lo scripting?Utilizzando JMP 13, come è possibile impostare l'asse sulla scala automatica utilizzando i comandi di scripting.
Uno snippet del codice dello script che mostra una semplice variabile in atto per i valori minimo e massimo.
SendToReport(
Dispatch(
{},
"val",
ScaleBox,
{Min( Axis_min ), Max( Axis_max ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 5, "Dotted", "Medium Dark Red", "5", 4 )}
),Obiettivo: consentire a qualcos'altro (utente, script, altro) di impostare l'asse (minimo e massimo) in modo specifico o consentire all'utente di selezionare "Auto".
La ricerca nelle guide e nei documenti di riferimento mostra che può essere impostato su un valore numerico, ma non documenta alcuna funzionalità di ridimensionamento automatico.Speravo che il passaggio di "Auto" o di un punto o di un altro simbolo funzionasse, ma non funziona.
Inoltre, non è possibile tralasciare insieme la riga di impostazione minima e massima per ottenere il ridimensionamento automatico poiché si infrange l'obiettivo di consentire a qualcosa di impostare il valore.
Grazie per l'aiuto in anticipo.
Ri: Come impostare il ridimensionamento automatico dell'asse con lo scripting?mi scuso, ma ho cambiato le variabili da Axis_min ad A. Nel caso in cui qualcuno non segua dal documento inizialeRi: Come impostare il ridimensionamento automatico dell'asse con lo scripting?La soluzione è utilizzare la funzione Ripristina asse.Tuttavia, per scriverlo è necessario ulteriore aiuto.
La chiave è controllare la variabile utilizzata nell'impostazione dell'asse per vedere se è un numero.In caso contrario, JMP restituisce un valore mancante. {vedi guida allo scripting, pagina 68, capitolo 3, sotto Funzioni dei caratteri. } Ciò consente di verificare qualcosa di diverso da un numero per reimpostare l'asse su un ridimensionamento automatico, oltre a passare un valore nella funzione di scripting.
axisbox(2) è l'asse y e axisbox(1) è per l'asse x.Il Report(gp) è l'handle dell'oggetto per il grafico specifico.
if( ( Is Missing(num( A )) | Is Missing(num( B )) ),
Report(gb)[axisbox(2)] << {Revert Axis}; // axisbox(2) is the y axis
);Funziona alla grande.grazie per l'aiuto
Ri: Come impostare il ridimensionamento automatico dell'asse con lo scripting?Sono d'accordo. Tuttavia, con una leggera modifica, posso scriverlo affinché funzioni. Pubblico i dettagli qui sotto.Ri: Come impostare il ridimensionamento automatico dell'asse con lo scripting?Penso che se rimuovi l'argomento Invia a Report(), non forzerai le impostazioni specifiche dell'asse e JMP ridimensionerà automaticamente l'asse. Questo argomento viene utilizzato per replicare le impostazioni quando si salva uno script. Altrimenti non sarebbe necessario. L'idea di Jim è la soluzione corretta quando sono state imposte impostazioni specifiche, ma l'eliminazione di questa parte dello script renderà superfluo quel passaggio aggiuntivo.
Invia a Report() non è il modo consigliato per eseguire script di oggetti. Invia invece messaggi all'oggetto di destinazione.
Ri: Come impostare il ridimensionamento automatico dell'asse con lo scripting?Penso che quello che vuoi usare sia il messaggio Ripristina asse.Reimposta l'asse su ciò che calcola automaticamente per una determinata piattaforma.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Max( 120 );
axisbox << Revert Axis;