Trazado de UCL/LCL definido en columnas en la filaHola,
¿Alguien puede compartir cómo agregar LCL/UCL a cualquier tipo de gráfico cuando estos límites se definen en una columna en esa fila específica? La tabla tiene varios parámetros que se trazan (identificados por la etiqueta de la columna), por lo que cada gráfico tiene un conjunto diferente de límites definidos para cada uno de los tipos de gráfico en esa fila.
Por ejemplo (adjunto), si tuviéramos dos columnas de UCL/LCL en el ejemplo de clase grande con tabla de datos apilados.
alguien puede escribir un script breve para producir un gráfico de superposición para la altura con LCL y UCL como se define para la altura en la columna respectiva.
Espero que la pregunta tenga sentido.
¡¡Gracias!!
Re: Trazar UCL/LCL definido en columnas en la fila¿Alguien tiene algún ideal de cómo trazar esto, cuando UCL/LCL está cambiando con el tiempo?
El método propuesto por JIM @txnelson funciona muy bien para límites UCL/LCL estáticos. pero con límites cambiantes, ¿no está seguro de cómo hacerlo?
Re: Trazar UCL/LCL definido en columnas en la filaNo estoy seguro de qué es exactamente lo que está tratando de hacer que haga Overlay Plot.Le sugiero que ejecute el gráfico de forma interactiva para obtener la forma que desea, y luego simplemente vaya al triángulo rojo y seleccione que JMP guarde el script.Pero por lo que JSL has mostrado:
Le falta un elemento X() en su especificación de superposición.La muestra que indicó que cambió de
op = Overlay Plot( Y( :data ), by( :label ) );
no era la forma correcta.El ejemplo correcto era
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
Por lo tanto, la especificación que necesita usar es:
op = Overlay Plot( Y( :data1, :data2), X(:data3 ), by( :label ) , needle (1) );
Re: Trazar UCL/LCL definido en columnas en la filaHola,
Como novato de JSL, copié su enfoque y funciona perfectamente para columnas individuales de datos trazados (¡Gracias!). Sin embargo, quiero incluir 2 columnas más (y una aguja entre ellas) en la trama. Actualmente, esto da como resultado una gráfica con las 3 columnas, pero sin UCL/LCL.
Cambié el "op = Gráfico superpuesto (Y (: datos), por (: etiqueta));"
a
"op = Gráfico superpuesto (Y (: datos1,: datos2,: datos3), por (: etiqueta), aguja (1));"
¿Sabes por qué es esto y cómo solucionarlo? ¡Gracias!
Re: Trazar UCL/LCL definido en columnas en la filaLa mejor manera de saber qué gráficos están disponibles es consultar el documento Gráficos esenciales
Ayuda==>Gráficas esenciales
Luego, después de ejecutar un gráfico, puede seleccionar del triángulo rojo en la salida gráfica para guardar el script.Es a partir de ahí que obtendrá el código de lo que necesita usar para generar los gráficos.
A continuación se muestra una modificación del script que se proporcionó anteriormente.Lo he modificado para verificar que se muestren las líneas de referencia.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Make sure the UCL and LCL values are displayed
chartMin = Min( :data[dt << get rows where( :Label == byVals[i])]);
chartMax = Max( :data[dt << get rows where( :Label == byVals[i])]);
If(LCL < chartMin, chartMin = LCL );
If(UCL > chartMax, chartMax = UCL );
chartRange5% = (chartMax - ChartMin)/20;
chartMin = chartMin - chartRange5%;
chartMax = chartMax + chartRange5%;
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Min( __min__ ), Max( __max__ ),
Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL,
Expr( __min__ ), chartMin,
Expr( __max__ ), chartMax
)
);
);Re: Trazar UCL/LCL definido en columnas en la filaMuchas gracias Jim, esto funciona para los gráficos superpuestos. ¿Puedes señalar una referencia donde pueda ( aprender sobre la configuración de otros gráficos ) y trazar otros gráficos también. La guía de secuencias de comandos no es muy útil.
Además, una cosa más, ¿puede agregar una línea que asegure que las líneas de límite sean visibles? En la actualidad no son visibles.
Gracias de nuevo por tu tiempo.
Re: Trazar UCL/LCL definido en columnas en la filaMuchas gracias Jim, esto funciona para los gráficos superpuestos. ¿Puede señalar una referencia donde pueda trazar otros gráficos también? La guía de secuencias de comandos no es muy útil.
Además, una cosa más, ¿puede agregar una línea que asegure que las líneas de límite sean visibles? En la actualidad no son visibles.
Gracias de nuevo por tu tiempo.
Re: Trazar UCL/LCL definido en columnas en la filaAquí hay un script de inicio que producirá lo que desea para la tabla de datos de muestra.Genera un gráfico de superposición.Para hacer lo mismo con tus gráficos de variabilidad, necesitarás algunas modificaciones, ya que cada una de las plataformas tiene diferentes opciones, etc.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL
)
);
);Re: Trazar UCL/LCL definido en columnas en la fila1. Supongo que el nombre de la columna es el eje X
- Usé un gráfico de superposición como ejemplo, cualquier gráfico que tenga un valor numérico en el eje y (por ejemplo, altura o peso). El eje X puede ser el nombre que sugirió.
2. Sus valores LCL y UCL son todos iguales para cada una de las filas donde para las filas definidas como "Altura".¿Será este el caso, o con una tabla de datos real, los valores de LCL y UCL cambiarán?
- Los límites pueden cambiar para diferentes categorías en esa categoría de etiquetas. (para aclarar: una LCL/UCL para altura, alguna otra UCL/LCL para peso)
3. Cuando dice "Gráfico de superposición", ¿se refiere específicamente a la plataforma de superposición en JMP o simplemente indica que el valor de los datos se superpone con LCL y UCL y se podría usar la plataforma Graph Builder?
- Adjunto un diagrama como ejemplo, que tiene un diagrama de superposición y un diagrama de variabilidad con límites. (esto se generó manualmente agregando líneas en la trama), estoy buscando tramas similares.
¡¡Muchas gracias por su tiempo!!
Re: Trazar UCL/LCL definido en columnas en la fila1. Supongo que el nombre de la columna es el eje X
2. Sus valores LCL y UCL son todos iguales para cada una de las filas donde para las filas definidas como "Altura".¿Será este el caso, o con una tabla de datos real, los valores de LCL y UCL cambiarán?
3. Cuando dice "Gráfico de superposición", ¿se refiere específicamente a la plataforma de superposición en JMP o simplemente indica que el valor de los datos se superpone con LCL y UCL y se podría usar la plataforma Graph Builder?