¿Cómo aplicar límites de matriz a un gráfico?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo 2 archivos, "especificaciones" y "Datos". Los datos tienen FAI, y puntos (PT). Quiero ejecutar un análisis -> Proceso de calidad -> Gráfico de variabilidad y aplicar automáticamente la especificación para cada FAI a los gráficos.
En algunas ocasiones puedo obtener la matriz de límites para aplicar usando el siguiente código, pero es inconsistente
Si cambio los límites a un valor estático, funcionaría bien.
1) Estoy buscando cualquier ayuda que la comunidad pueda proporcionar
2) Si hay una solución más elegante, también me gustaría saber.
Código de ejemplo a continuación
=====================
cierra todo ( tablas de datos , nosave ) ; símbolos claros () ; eliminar símbolos () ;
// Crear una tabla de datos apilada: estos son solo ejemplos, sé cómo leer como un archivo
dtDataStacked = nueva mesa ( "dtDataStacked" ) ;
dtDataStacked << Nueva Columna ( "FAI" , Personaje , valores ({ "01" , "02" , "02" , "03" , "03" , "03" })) ;
dtDataStacked << Nueva Columna ( "PT" , Personaje , valores ({ "UNA" , "UNA" , "SEGUNDO" , "UNA" , "SEGUNDO" , "SEGUNDO" })) ;
dtDataStacked << Nueva Columna ( "Valor" , valores ({ 1 , 1 , 2 , 1 , 2 , 3 })) ;
dtSpecStacked = nueva mesa ( "dtSpecStacked" ) ;
dtSpecStacked << Nueva Columna ( "_FAI" , Personaje , valores ({ "01" , "02" , "03" })) ;
dtSpecStacked << Nueva Columna ( "_LSL" , numérico , Continuo , valores ({ 0 , 0 , 0 })) ;
dtSpecStacked << Nueva Columna ( "_USL" , numérico , Continuo , valores ({ 4 , 4 , 4 })) ;
// asignar límites a stackedData
dtDataStacked << actualizar (
con ( dtSpecStacked ) ,
Coincidir columnas ( FAI = _FAI )
) ;
// Haciendo parcelas
tabla de datos actual ( dtDataStacked ) ;
dtDataStacked << Cuadro de variabilidad (
Y ( : Valor ) ,
X ( : PT ) ,
Por ( : FAI ) ,
Tipo de analisis ( "Elegir el mejor análisis (EMS REML Bayesiano)" ) ,
Conectar medios celulares ( 1 ) ,
Std Dev Chart ( 0 ) ,
Puntos jittered ( 1 ) ,
Mostrar diagramas de caja ( 1 ) ,
SendToReport (
Envío (
{ "Tabla de variabilidad para el valor" } ,
"2" ,
ScaleBox ,
{
// Agregar línea de referencia ({0, 4}, "Sólido", "Verde oscuro", "", 1, 0.25) // esta línea funciona
Añadir línea de referencia ( { _lsl , _usl } , "Sólido" , "Verde oscuro" , "" , 1 , 0.25 ) /// esta línea no lo hace
}
)
)
) ;
Re: ¿Cómo aplicar límites de matriz a un gráfico?Espléndido... Funciona exactamente como lo necesitaba en este código ficticio. Ahora tengo que hacer alguna modificación a mi código original.
Re: ¿Cómo aplicar límites de matriz a un gráfico?Modifiqué mi última entrada, para leer las especificaciones de la tabla de datos dtSpecstacked, y solo para agregar los límites de la fila uno a la tabla uno, la fila dos a la tabla dos, etc.
Re: ¿Cómo aplicar límites de matriz a un gráfico?Aquí hay una versión ligeramente diferente que agrega las líneas de referencia a los gráficos después de crearlos.
// cerrar todo (tablas de datos, nosave); símbolos claros (); eliminar símbolos ();
// Crear una tabla de datos apilada: estos son solo ejemplos, sé cómo leer como un archivo
dtDataStacked = nueva mesa ( "dtDataStacked2" );
dtDataStacked << Nueva Columna ( "FAI" , Carácter, valores ({ "01" , "02" , "02" , "03" , "03" , "03" }));
dtDataStacked << Nueva Columna ( "PT" , Carácter, valores ({ "UNA" , "UNA" , "SEGUNDO" , "UNA" , "SEGUNDO" , "SEGUNDO" }));
dtDataStacked << Nueva Columna ( "Valor" ,valores({ 1 , 1 , 2 , 1 , 2 , 3 }));
dtSpecStacked = nueva mesa ( "dtSpecStacked" );
dtSpecStacked << Nueva Columna ( "_FAI" , Carácter, valores ({ "01" , "02" , "03" }));
dtSpecStacked << Nueva Columna ( "_LSL" , numérico, continuo, valores ({ 0 , 0 , 0 }));
dtSpecStacked << Nueva Columna ( "_USL" , numérico, continuo, valores ({ 4 , 4 , 4 }));
// asignar límites a stackedData
dtDataStacked << actualizar (
con (dtSpecStacked),
Coincidir con las columnas (FAI = _FAI)
);
// Haciendo parcelas
tabla de datos actual (dtDataStacked);
varch = dtDataStacked << Cuadro de variabilidad (
Y (: Valor),
X (: PT),
Por (: FAI),
Tipo de análisis ( "Elegir el mejor análisis (EMS REML Bayesiano)" )
Conectar medios celulares ( 1 )
Std Dev Chart ( 0 )
Puntos jittered ( 1 )
Mostrar diagramas de caja ( 1 ) / *,
SendToReport (
Envío(
{"Tabla de variabilidad para el valor"},
"2",
ScaleBox,
{
// Agregar línea de referencia ({0, 4}, "Sólido", "Verde oscuro", "", 1, 0.25) // esta línea funciona
Agregar línea de referencia ({_LSL, _USL}, "Sólido", "Verde oscuro", "", 1, 0.25) /// esta línea no
}
)
) * /
);
// Añadir las líneas de referencia a cada uno de los gráficos.
por (i = 1 , i <= N filas (dtSpecStacked), i ++,
informe (varch ) [axisbox ( 1 )] << Añadir línea de referencia (dtSpecstacked: _LSL [ yo ] "Sólido" , "Verde oscuro" , "" , 1 );
informe (varch ) [axisbox ( 1 )] << Añadir línea de referencia (dtSpecstacked: _USL [ yo ] "Sólido" , "Verde oscuro" , "" , 1 );
);
Re: ¿Cómo aplicar límites de matriz a un gráfico?por favor vea las notas a continuación ...
Re: ¿Cómo aplicar límites de matriz a un gráfico?por favor vea las notas a continuación ...
Re: ¿Cómo aplicar límites de matriz a un gráfico?Disculpas por no hacer el ejemplo representativo de mi problema.
Supongamos que los límites son diferentes según FAI. y Me gustaría entender cómo se desempeña cada PT dentro de la misma FAI.
El "dtDataStacked" inicial es básicamente el resultado de datos apilados que originalmente tenían el FAI, el PT, el valor, todo en columnas diferentes. Recuerdo que el requisito para el gráfico de indicador variable es que debe apilarlos primero para, por lo tanto, el dtSpecStacked.
Por favor revise las líneas del Código original a continuación para ilustrar mi problema ...
dtSpecStacked << Nueva Columna ( "_LSL" , numérico , Continuo , valores ({ 0 , 0 , 0 })) ;
dtSpecStacked << Nueva Columna ( "_USL" , numérico , Continuo , valores ({ 4 , 5 , 7 })) ;
Asi que
FAI = 01 tiene límites de 0 ~ 4
FAI = 02 tiene límites de 0 ~ 5
FAI = 03 tiene límites de 0 ~ 7
... etc
Re: ¿Cómo aplicar límites de matriz a un gráfico?JMP tiene la capacidad incorporada de mostrar límites de especificaciones si los límites se han guardado como propiedades de columna. A continuación se muestra una modificación de su script que utiliza esta metodología.
cierra todo (tablas de datos, nosave); símbolos claros (); eliminar símbolos ();
// Crear una tabla de datos apilada: estos son solo ejemplos, sé cómo leer como un archivo
dtDataStacked = nueva mesa ( "dtDataStacked2" );
dtDataStacked << Nueva Columna ( "FAI" , Carácter, valores ({ "01" , "02" , "02" , "03" , "03" , "03" }));
dtDataStacked << Nueva Columna ( "PT" , Carácter, valores ({ "UNA" , "UNA" , "SEGUNDO" , "UNA" , "SEGUNDO" , "SEGUNDO" }));
dtDataStacked << Nueva Columna ( "Valor" ,valores({ 1 , 1 , 2 , 1 , 2 , 3 }));
dtSpecStacked = nueva mesa ( "dtSpecStacked" );
dtSpecStacked << Nueva Columna ( "_FAI" , Carácter, valores ({ "01" , "02" , "03" }));
// Agregue los límites de especificaciones como propiedades de columna a su columna "Valor"
dtDataStacked: valor << establecer propiedad ( "Límites de especificaciones" {LSL ( 0 ), USL ( 4 ), mostrar límites ( 1 )});
/ *
dtSpecStacked << Nueva Columna ("_ LSL", numérica, continua, valores ({0,0,0}));
dtSpecStacked << Nueva columna ("_ USL", numérica, continua, valores ({4,4,4}));
* /
// asignar límites a stackedData
dtDataStacked << actualizar (
con (dtSpecStacked),
Coincidir con las columnas (FAI = _FAI)
);
// Haciendo parcelas
tabla de datos actual (dtDataStacked);
dtDataStacked << Cuadro de variabilidad (
Y (: Valor),
X (: PT),
Por (: FAI),
Tipo de análisis ( "Elegir el mejor análisis (EMS REML Bayesiano)" )
Conectar medios celulares ( 1 )
Std Dev Chart ( 0 )
Puntos jittered ( 1 )
Mostrar diagramas de caja ( 1 )
/ *,
SendToReport (
Envío(
{"Tabla de variabilidad para el valor"},
"2",
ScaleBox,
{
// Agregar línea de referencia ({0, 4}, "Sólido", "Verde oscuro", "", 1, 0.25) // esta línea funciona
Agregar línea de referencia ({_LSL, _USL}, "Sólido", "Verde oscuro", "", 1, 0.25) /// esta línea no
}
)
) * /
);
Re: ¿Cómo aplicar límites de matriz a un gráfico?Utilice la plataforma de capacidad de proceso. Tiene la capacidad de escribir los límites directamente en las propiedades de la columna como parte del flujo de trabajo.