Flexibilidad de gráfico/leyenda<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo algunos scripts de trabajo que manipulan una tabla de datos y crean un gráfico...todo está bien......
Sin embargo, me gustaría adaptar los cambios en los datos a lo largo del tiempo.Por ejemplo, actualmente hay 5 niveles de prioridad que se pueden informar en la base de datos (es decir, Bloqueador, Crítico, Mayor, Menor, Trivial) ---- pero los usuarios no utilizan todos durante cada período de informe (p. ej., Crítico, Major, Minor pueden ser las únicas entradas para un período de informe en particular)... es muy probable que los usuarios incluyan todas (es decir, las 5) prioridades en el futuro para un período de informe en particular.Además --- es probable que para el próximo período de informe el usuario solo pueda usar 3 de los niveles de prioridad.
Mi dilema: mi secuencia de comandos de gráfico actual solo se adapta a un número fijo de prioridades, por lo que si lo construyo para manejar solo 4, entonces puedo estar excluyendo datos en el gráfico, he tratado de forzarlo para que siempre muestra 5 prioridades pero parece estropear la leyenda (orden incorrecto de etiquetas/colores) ........¿Hay alguna manera de hacerlo dinámico según los valores de datos que se utilizarán en la 'superposición'?
// Build the visualization Graph to show severity of open defects//
wind = New Window( "Open Defects by Severity",
Graph Builder(
Size( 570, 616 ),
Show Control Panel( 0 ),
Variables(
X( :Name( "Affects Version/s" ) ),
Group Y( :Open_Defects ),
Overlay( :Priority )
),
Elements(
Bar( X, Legend( 2 ), Bar Style( "Stacked" ), Summary Statistic( "N" ) )
),
SendToReport(
Dispatch(
{},
"Affects Version/s",
ScaleBox,
{Show Major Ticks( 0 ), Rotated Labels( "Automatic" )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
2,
Properties( 3, {Line Color( -10931939 ), Fill Color( -10931939 )} ),
Properties( 2, {Line Color( -2062516 ), Fill Color( -2062516 )} ),
Properties( 1, {Line Color( -11722634 ), Fill Color( -11722634 )} ),
Properties( 0, {Line Color( -3383340 ), Fill Color( -3383340 )} )
)}
),
Dispatch( {}, "400", LegendBox, {Position( {3, 2, 1, 0} )} )
)
)
);

Re: Flexibilidad de gráfico/leyendaXam,
¡Gracias! ¡Gran ayuda!
Kun
Re: Flexibilidad de gráfico/leyendaParece que hiciste la parte difícil de poner los datos en la forma correcta. Si solo necesita controlar los colores particulares, intente usar la propiedad de la columna Value Colors en cada columna (puede configurarlos todos a la vez con el elemento de menú Standardize Attributes).

Re: Flexibilidad de gráfico/leyendaXan,
gracias por su ayuda. Parece que su sugerencia no puede resolver mi problema. Trato de explicar mejor mi necesidad aquí de nuevo. Como puede encontrar la tabla adjunta de "ingreso de muestra de laboratorio", aquí registro todo el tipo de ingreso de muestra, el tiempo y la secuencia. Intento obtener la salida final de grap como la "salida de gráfico deseada" adjunta. El color significa un tipo de muestra diferente. La secuencia de entrada de la muestra es muy importante para nosotros. La entrada más temprana se ubicará en la primera fila de cada día. La última entrada se ubicará en la última fila de cada día. Cada celda significa un lote de muestra.
He probado usando el gráfico de celdas después de transformar la tabla original para obtener una tabla de transformación. Sin embargo, como puede encontrar en el diagrama de celda adjunto, no puedo obtener el color deseado. JMP parece que siempre empieza a teñir desde el primer tipo de producto. Esta no es mi forma deseada. Necesito arreglar el color para cada tipo de muestra.
¿Puedes darme alguna sugerencia? Gracias de antemano.
Kun
Re: Flexibilidad de gráfico/leyendaKun,
Las barras apiladas pueden funcionar si agrega una categoría de blanco de relleno para los espacios. Otra idea es el elemento Mapa de calor en Graph Builder. Foto adjunta. Puede hacer un diagrama de dispersión y elegir un marcador rectangular relleno para cada punto.
Re: Flexibilidad de gráfico/leyendaKun, soy bastante nuevo en JMP, así que no estoy seguro de si es capaz de producir los resultados que estás describiendo...
Re: Flexibilidad de gráfico/leyenda¡Gracias, Twaintwist!
Su archivo de tabla y JSL me ayudan a comprender su problema y la solución final. Aprenda un caso de aplicación importante.
Aquí trato de usar un gráfico similar a una barra para mostrar el tipo de carga, la secuencia y los números de muestras diarias en nuestro laboratorio.Aquí puede encontrar totalmente hay 21 tipos de muestra para ingresar a nuestro laboratorio para probar. Trato de rastrear su secuencia de llegada todos los días. Yo uso un color para un tipo de muestra. Si hay el mismo alcance de muestras sucesivas, será una barra larga con el mismo color.Adjunto un gráfico producido por excel. ¿Crees que podemos realizarlo a través de jmp JSL way?
Gracias de antemano.
Kun
Re: Flexibilidad de gráfico/leyendaKun,
Adjunto debe encontrar el script JMP ( Agregar filas Script.jsl) , la tabla de datos ( informe_general.jmp ) y una captura de pantalla de los resultados ( Después.jpg )....
El script agrega 5 filas nuevas en la parte superior de la tabla de datos, luego completa esas 5 filas con 5 nombres de caracteres únicos en la columna 'Prioridad'.Esto asegurará que cada gráfico generado usando este script muestre los cinco nombres en la Leyenda.Hago esto porque a medida que se generan nuevas tablas de datos con el tiempo, algunas tendrán los 5 nombres y otras no.Cuando no tienen los 5 nombres, la Leyenda no permanece en el mismo orden o combinación de colores, por lo que al comparar gráficos de ejecuciones anteriores, las Leyendas no coinciden y es confuso.Al forzar los 5 nombres produce Leyendas que son consistentes....

Re: Flexibilidad de gráfico/leyendaTwaintwist, gracias por tu publicación para plantear una pregunta importante. Creo que también aquí tengo el mismo problema. Tengo algunas dificultades para entender su solución final. ¿Puedes adjuntar una tabla jmp como ejemplo para mí? ¿Puede pegar el JSl final que contiene agregar fila y establecer el valor aquí para que pueda probar? ¡Gracias! Kun
Re: Flexibilidad de gráfico/leyendaOk --- esto es lo que tengo y funciona bien.... --- gracias a la sugerencia de Xan....
Agregué 5 filas de datos 'vacantes' ---- el único campo que se ingresa en cada fila está en la columna marcada como 'Prioridad' ---- El script crea 5 filas al comienzo de la tabla de datos y completa el Prioridad columna con 5 entradas
El resto de la secuencia de comandos filtra esas filas porque ningún otro campo dentro de las filas tiene datos, por lo que estas nuevas filas no dañan los gráficos que se generan (es decir, muestran los datos de prioridad adicionales).
Ahora, cada gráfico generado muestra cada una de las 5 prioridades en la Leyenda, incluso si esas prioridades no existían en los datos originales ----- esto ayuda a mantener la coherencia en el esquema de colores que desarrollamos para cada prioridad y en el orden en que se presentan la leyenda. ---- llenamos un PowerPoint con gráficos uno al lado del otro, por lo que es importante que el esquema de colores y el orden dentro de la Leyenda sean consistentes....
Re: Flexibilidad de gráfico/leyendaXan:
También estaba pensando en eso ----- pero tenía miedo de que 'agregara' datos falsos ----- pero su sugerencia de agregar valores faltantes a las otras columnas puede funcionar --- Le daré una intentar
Re: Flexibilidad de gráfico/leyendaBuena pregunta. La única solución que se me ocurre es agregar filas ficticias a la tabla de datos que representen todos los niveles de prioridad pero con valores faltantes para las otras columnas.