He escrito un script que traza la tabla de variabilidad con los siguientes datos:
1.He definido una lista que contiene todos los nombres de columna que comienzan con MIP e itero a través de esta lista para la variable del eje Y.
2. El eje X tiene el nombre de la herramienta y la identificación de la parte.
3. Ahora mismo puedo trazar el diagrama de variabilidad MIP_ * para diferentes números de pasos.
4. Necesito agregar puntos de ajuste y límites de especificación superior / inferior a estas parcelas, por ejemplo: tabla de variabilidad para MIP_GY1 en el paso número A.
5. El punto de ajuste y los límites de las especificaciones varían para cada número de paso.
6. ¿Cómo puedo manejar esto programáticamente?
| Uid | MIP_GY1 | MIP_GY2 | MIP_UT0 | MIP_UT1 | MIP_DF0 | MIP_DF1 | MIP_DF2 | Número de paso | Nombre de la herramienta | Partid |
Así es como comenzaría: para uno de sus números de paso, agregue los límites de especificación apropiados. (Haga clic con el botón derecho en el eje Y y elija Configuración del eje, luego agregue Líneas de referencia a los valores que desee, en el color y estilo de línea que desee). Luego, puede hacer clic en el pequeño triángulo rojo en la esquina superior izquierda de la ventana de trazado, vaya todo el camino hasta Script y elija Copiar Script. Puede pegarlo en una ventana del editor de scripts y encontrar las anotaciones que agregó. Debería verse como
Add Ref Line( 1.234, "Dashed", "Red", "UL", 2)
... donde solo estoy inventando un valor y algunas propiedades de línea: estilo de línea, color, etiqueta, grosor. (Puse "UL" como si fuera el límite superior. También puede dejar esto sin etiquetar con "".)
Si está recorriendo cada número de paso y haciendo un diagrama separado para cada uno, puede incluir esta llamada de función de trazado dentro de su ciclo junto con una lógica condicional que dice algo como
If(:Step Number == "numberA",
ul = 1.0;
ll = 0.5;<BR /> sp = 0.75,
:Step Number == "numberB",
ul = 1.2;
ll = 0.8;<BR /> sp = 1.0,
...
);y luego en la gráfica, dibuje el punto de ajuste y las líneas de límite de especificación superior / inferior insertándolas en el lugar apropiado:
Add Ref Line( ul, {whatever properties you want here}),
Add Ref Line( ll, {whatever properties you want here}),
Add Ref Line( sp, {whatever properties you want here})
Sin embargo, creo que podría estar usando la columna Número de paso en sí como la X, Agrupando en su tabla de variabilidad y preguntando si puede dibujar estas anotaciones en diferentes niveles por encima de los diferentes grupos de pasos, todo dentro de un solo gráfico. Si ese es el caso, no creo que sea posible; si es así, ciertamente no sé cómo.</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-227007" slang="en-US" mode="NONE">Re: AGREGAR LÍMITES DE ESPECIFICACIONES BASADOS EN UNA CONDICIÓN</LINGO-SUB><LINGO-BODY id="lingo-body-227007" slang="en-US" mode="NONE">Acabo de escribirte una respuesta, luego traté de editarla y desapareció. En lugar de reescribir todo, permítanme preguntar primero (debido a su publicación relacionada con el sonido de ayer): ¿está tratando de hacer un solo cuadro de variabilidad con líneas que lo crucen y que cambien de nivel cuando están por encima de diferentes grupos de agrupación? ¿O está tratando de hacer un montón de gráficos de variabilidad diferentes, cada uno de los cuales tiene líneas de límite de punto de referencia y especificaciones dibujadas en niveles variables? <BR /><BR /> Si es la primera opción (líneas de límite de especificación que saltan de manera discontinua a diferentes valores dependiendo de la etiqueta de ese grupo en particular): hasta donde yo sé, esto no es posible. Si es la segunda opción, puede configurar variables con lógica condicional y luego llamar a esas variables desde la función de trazado, y me complace ayudar con esa sintaxis si es necesario.</LINGO-BODY><LINGO-SUB id="lingo-sub-227014" slang="en-US" mode="NONE">Re: AGREGAR LÍMITES DE ESPECIFICACIONES BASADOS EN UNA CONDICIÓN</LINGO-SUB><LINGO-BODY id="lingo-body-227014" slang="en-US" mode="NONE"><P>Estoy tratando de hacer un montón de gráficos de variabilidad diferentes y el siguiente es mi código:</P>
<PRE><CODE class=" language-jsl">dtin = Open( "C:\Users\mdhumwad\Documents\SQLPathFinder_Data\LKF_PHI_REPORT.csv" );
a = "MIP_";
col = dtin << get column names( string );
ncc = N Items( col );
theo_pars = {};
For( i = 1, i <= ncc, i++,
If( Contains( col[i], a ),
Insert Into( theo_pars, col[i] )
)
);
Print( theo_pars );
step_number_list = {};
step_number_list = Associative Array( dtin:step_number ) << Get Keys;
nw = New Window( "the0 data", container = V List Box() );
For( i = 1, i <= N Items( theo_pars ), i++,
content = V List Box(
dtin << Variability Chart(
Y( Column( dtin, theo_pars[i] ) ),
X( :Tool name, :Part_id ),
By( :step_number ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
SendtinoReport(
Dispatch(
{__VarChart__},
"2",
)
)
)
);
container << Append( content );
);
Veo. Está creando un gráfico de variabilidad para cada columna MIP_, pero luego se agrupa
By( :step_number )
lo que significa que los diversos pasos son los "cubos" en los que está agrupando sus datos, espaciados a lo largo del eje X.
Si cada número de paso tiene límites de especificación diferentes, entonces, creo que está solicitando una forma de anotar cada tabla de variabilidad con líneas que están en diferentes niveles dependiendo de la agrupación que están arriba. Hasta donde sé, no hay forma de hacerlo en el cuadro de variabilidad JMP.
Una posible solución que podría funcionar para usted: podría volver a formalizar sus datos para que se centren en el valor del punto de ajuste para el número de paso relevante (digamos, restando el punto de ajuste de los puntos de datos). Entonces tendrías 0 = en el objetivo, y los números reflejarían qué tan arriba (+) o debajo (-) del punto de ajuste estaban. Si sus límites son siempre la misma distancia desde el punto de ajuste, y el punto de ajuste es lo único que cambia de un paso a otro, entonces podría dibujar un conjunto de líneas en todo el cuadro de variabilidad para ilustrar esto.
Si tiene diferentes límites y diferentes puntos de ajuste, podría hacer un escalado más elegante para expresar sus datos en términos tanto del punto de ajuste como de los límites. Pero eso podría ser demasiado opaco y confuso para las personas que finalmente miran su gráfico.