¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.¡Hola! Estoy trabajando en la creación de un script que grafica un valor numérico (X) contra Herramientas (Y). Este script incluye los límites de control superior e inferior dados en la tabla de datos, que varían según el subgrupo, y que incluirá automáticamente los límites en los gráficos al ejecutarse. También necesito que estos gráficos estén separados por "Capa". Esto es lo que tengo hasta ahora. Puedo generar los gráficos, pero no consigo que aparezcan las líneas de límite de control. Además, el primer gráfico tiene tamaños de punto mucho más pequeños que los demás. Soy relativamente nuevo en esto de escribir scripts desde cero, así que cualquier ayuda será muy apreciada. Esto es lo que tengo hasta ahora. (Versión JMP: 17.2)
Names Default To Here( 1 );
dt = Current Data Table();
xCol = Column( dt, "Tool" );
yCol = Column( dt, "Value" );
uclCol = Column( dt, "UCL" );
lclCol = Column( dt, "LCL" );
LayerCol = Column( dt, "Layer" );
gb = Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables( X( :Tool ), Y( :Value ), Page( :Layer ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Elements( Line( X( xCol ), Y( uclCol ), Legend( 2 ) ) ),
Elements( Line( X( xCol ), Y( lclCol ), Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Graph", ScaleBox, {Format( "Best", 12 ), Inc( 1 ), Minor Ticks( 1 )} ),
Dispatch( {}, "Graph Builder", FrameBox, {Marker Size( 2 ), Line Width( 2 )} ),
)
);
rep = gb << Report();
fr = rep[FrameBox( 1 )];
leg = rep[LegendBox( 1 )];
leg = rep[Legend Box( 1 )];
Try( leg << Set Item Name( 1, "Value" ) );
Try( leg << Set Item Color( 1, "Steel Blue" ) );
Try( fr << Set Marker Size( 1, 3 ) );
Try( fr << Set Marker Style( 1, "FilledCircle" ) );
Try( leg << Set Item Name( 2, "UCL" ) );
Try( leg << Set Item Name( 3, "LCL" ) );
Try( leg << Set Item Color( 2, "Red" ) );
Try( leg << Set Item Color( 3, "Red" ) );
Try( leg << Set Item Line Style( 2, "Solid" ) );
Try( leg << Set Item Line Style( 3, "Solid" ) );
Try( fr << Set Line Width( 2, 2 ) ); // UCL
Try( fr << Set Line Width( 3, 2 ) ); // LCL
Editado por txnelson JSL en JSL Display Box
Automatización y scriptingExploración y visualización de datosRe: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.Si genera el gráfico que desea utilizando las capacidades interactivas de Graph Builder, puede simplemente especificar que desee guardar el script y se generará un script que replicará el gráfico.
Re: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.Hola Jim, ¡gracias por tu respuesta! Logré generar los gráficos, pero el mayor problema que tengo ahora es que todavía no logro entender cómo agregar las líneas de referencia UCL y LCL a mi script para que, al ejecutarlo, los gráficos se separen por capa y cada gráfico tenga sus respectivas líneas de referencia LCL y UCL incluidas. UCL y LCL son columnas en mi tabla de datos, pero no logro encontrar la forma correcta de referenciarlas.
Re: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.¿Puedes adjuntar un archivo de muestra?
Re: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.Hola Jim,
Tabla de datos adjunta, con el script original que pegué arriba en la sección de scripts de la tabla.
Re: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.Solo tienes que agregar el UCL y el LCL al eje Y y luego agregar una línea, especificando que Valor es la única variable que se usará para los puntos y que LCL y UCL son las únicas variables que se usarán para las líneas.

Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables(
X( :Tool ),
Y( :Value ),
Y( :UCL, Position( 1 ) ),
Y( :LCL, Position( 1 ) ),
Page( :Layer )
),
Elements(
Points( X, Y( 1 ), Legend( 1 ) ),
Line( X, Y( 2 ), Y( 3 ), Legend( 2 ) )
),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox,
{Marker Size( 2 ), Marker Drawing Mode( "Normal" )}
)
)
);
Re: ¿Cómo puedo hacer que mi script de gráficos haga referencia a mis límites de control por filas y los agregue automáticamente a mi gráfico? Script en proceso incluido.¡Entendido! ¡Funcionó! ¡Gracias!