Algunos análisis requieren una escala de eje que no está disponible de forma predeterminada en Graph Builder, como los diagramas de Arrhenius con la temperatura representada como 1/T [K].

Comencemos con el ejemplo del Índice de Scripting. Queremos generar un gráfico logarítmico manualmente y aprender de ello:
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 );
Existe una función Escalar a Interno() que se utiliza para aplicar registro() al eje X, y una función Scale to External() que es la función inversa.
Tras ejecutar el código...
a) El usuario obtiene una escala logarítmica en el eje X (compárese con la escala logarítmica predeterminada en el eje Y):
[Agregar algunos puntos de datos en 200, 500, ...]

... además:
b) La opción Escala personalizada aparece en el menú de ejes.

c) ... y el usuario obtiene acceso a la escala de raíz cúbica y Johnson Su .
De forma análoga al ejemplo anterior, se puede usar
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>... para graficar la temperatura [°C] en una escala de 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>y 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 /> uno obtiene:</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>Preguntas:</P>
<UL>
<LI>¿Dónde puedo encontrar la documentación de la funcionalidad?<BR /><BR /></LI>
<LI>the <FONT face="courier new,courier">Si()</FONT> in the <CODE class=" language-jsl">Scale To External functions can restrict the range.
further applications besides "make it work"?
Noté una extraña interacción entre Scale y Internal / External() cuando ambas funciones no eran inversas entre sí.
¿Es obligatorio, entonces, utilizar funciones inversas? ¿Existen aplicaciones interesantes para las funciones no inversas?
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".
Ajustar el espaciado de las marcas es problemático: arrastrar el eje demasiado lejos conduce a la pérdida de todas las marcas o a una configuración extrema de Inc().
¿Por qué no se puede acceder a la función Inc() a través de la interfaz gráfica de usuario?
Solución alternativa:
Modifique los valores Mín/Máx con un rango pequeño; esto reduce la función Inc(). Luego, arrastre el eje para aumentar el rango.
La temperatura sube de izquierda a derecha, ¡esto es genial! Sin embargo, además de invertir el orden , ¿puedo también modificar Escalar a Interno / Externo() para que la temperatura suba de derecha a izquierda?
¿La curva de ajuste no encaja?
No se produce una actualización automática del ajuste después de cambiar la escala.
Para activar la actualización, cambie los ajustes de ajuste y vuelva a la configuración original:

La plataforma de degradación proporciona las mismas opciones interesantes para usar escalas de eje personalizadas para los ajustes:
dt = Open( "$SAMPLE_DATA/Reliability/Device B.jmp" );
dt << run script ("Degradation");
Mejor que Graph Builder:
El usuario puede escribir la función y la función inversa directamente en la GUI:
