Alcune analisi richiedono una scala degli assi che non è disponibile per impostazione predefinita in Graph Builder, come i grafici di Arrhenius con la temperatura tracciata come 1/T [K].

Iniziamo con l'esempio tratto dall'Indice di Scripting. Vogliamo generare manualmente un grafico logaritmico e imparare da esso:
Names Default To Here( 1 );
Open( "$sample_data/big class.jmp" );
gb = Graph Builder(
Variables( X( :height ), Y( :height ) ),
Elements( Points( X, Y, Legend( 2 ) ), Smoother( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height}, ScaleBox( 2 ),
{Scale( "Log" ), Max( 1000 ), Minor Ticks( 1 ),
Label Row( Show Minor Grid( 1 ) )}
)
)
);
gbr = Report( gb );
gbr[axisbox( 1 )] << scale(
custom scale,
Scale To Internal( Function( {x}, If( x > 0, Log( x, 2 ), . ) ) ),
Scale To External( Function( {x}, Power( 2, x ) ) )
) << Min( 32 ) << Max( 100 );
Esiste una funzione Scala a Interno() che viene utilizzata per applicare tronco d'albero() all'asse X e una funzione Scale to External() che è la funzione inversa.
Dopo aver eseguito il codice ...
a) l'utente ottiene una scala logaritmica sull'asse X (da confrontare con la scala logaritmica predefinita sull'asse Y):
[aggiungi alcuni punti dati a 200, 500, ...]

... inoltre:
b) La scala personalizzata appare nel menu degli assi

c) ... e l'utente ha accesso alla radice cubica e alla scala di Johnson Su .
In analogia all'esempio precedente, si può usare
current report()[axisbox( 1 )] << scale(
custom scale,
Scale To Internal( Function( {x}, if (x>-273, 1/(x+273)) ) ),
Scale To External( Function( {x}, if (x>0,1/x-273)) )
) << Min( 30 ) << Max( 100 ) << Inc(2);
</CODE></P>
<P>... per tracciare la temperatura [°C] su una scala 1/K :)</img></P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1761670774224.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_0-1761670774224.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_0-1761670774224.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/85914i6584983069EAA6CA/hogi_0-1761670774224.png" role="button" title="hogi_0-1761670774224.png" alt="hogi_0-1761670774224.png" /></span></SPAN></SPAN></P>
<P>e con</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_1-1761671084396.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1761671084396.png" style="width: 305px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_1-1761671084396.png" style="width: 305px;"><img src="https://us.v-cdn.net/6038925/uploads/images/85916iB67A6BD9D405E759/hogi_1-1761671084396.png" role="button" title="hogi_1-1761671084396.png" alt="hogi_1-1761671084396.png" /></span></SPAN></SPAN><BR /> si ottiene:</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1761671064758.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_0-1761671064758.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_0-1761671064758.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/85915iBBBB35EF32BE213A/hogi_0-1761671064758.png" role="button" title="hogi_0-1761671064758.png" alt="hogi_0-1761671064758.png" /></span></SPAN></SPAN></P>
<BR />
<BR />
<P>Domande:</P>
<UL>
<LI>dove posso trovare la documentazione della funzionalità?<BR /><BR /></LI>
<LI>the <FONT face="courier new,courier">Se()</FONT> in the <CODE class=" language-jsl">Scale To External functions can restrict the range.
further applications besides "make it work"?
Ho notato una strana interazione tra Scala a Interno/Esterno() quando entrambe le funzioni non erano l'una l'inversa dell'altra.
Quindi, è obbligatorio usare le funzioni inverse? Ci sono applicazioni interessanti per le funzioni non inverse?
What is the definition of Inc()? Min() and Max() are defined in the original dimension [e.g. °C],<BR />Inc() is not defined in this dimension - nor in the "internal dimension".
La regolazione della spaziatura dei tick è problematica: trascinare l'asse un po' troppo lontano porta alla perdita di tutti i tick o a un'impostazione estrema di Inc().
Perché Inc() non è accessibile tramite la GUI?!?
Soluzione alternativa:
modifica Min/Max con un intervallo piccolo: questo riduce Inc(). Quindi trascina l'asse per aumentare l'intervallo.
La temperatura scorre da sinistra a destra, fantastico!!! Tuttavia, oltre all'ordine inverso , posso anche modificare Scala a Interno/Esterno() per far sì che la temperatura scorra da destra a sinistra.
La curva di adattamento non si adatta?
Non c'è alcun aggiornamento automatico dell'adattamento dopo aver modificato la scala.
Per attivare l'aggiornamento, modifica le impostazioni di adattamento e ripristina le impostazioni originali:

La piattaforma di degradazione offre le stesse fantastiche opzioni per utilizzare scale di assi personalizzate per gli adattamenti:
dt = Open( "$SAMPLE_DATA/Reliability/Device B.jmp" );
dt << run script ("Degradation");
Meglio di Graph Builder:
L'utente può scrivere la funzione e la funzione inversa direttamente nella GUI:
