Bloquear escalas de forma independiente en Graph Builder<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />En Graph Builder hay una opción para bloquear escalas para evitar que los ejes respondan a los cambios de datos. En JSL, la función Bloquear escalas está disponible para hacer lo mismo. Tanto en la interfaz de usuario como en JSL, el bloqueo de escalas afecta tanto a los ejes x como a y. ¿Hay alguna forma de bloquear las escalas de los ejes de forma independiente? Tengo un script, en realidad varios, que genera gráficos con Graph Builder, pero que también abre ventanas de Filtro de datos para que podamos filtrar el gráfico tal como lo hacemos en el software que estamos desarrollando para un cliente; JMP se utiliza para verificar las funciones de generación de informes del software. Todos estos gráficos están fijos para mostrar un período de 24 horas (de medianoche a medianoche, un día a la vez), pero el eje y debe adaptarse adecuadamente a la escala de los datos.
A diferencia de nuestro software, que completa los intervalos de tiempo sin actividad con ceros de forma predeterminada, JMP solo muestra puntos de datos donde existen datos. Es decir, estoy usando una salida de registro de eventos del software y verificando que los informes del software coincidan con lo que produzco en JMP usando el registro de eventos. Si un evento no ocurrió en un momento determinado, no hay ninguna entrada en el registro de eventos para ese momento; más correctamente, cuando agrupa los datos, no se crean intervalos de tiempo para los que no hay datos. Debido a esto, a veces el eje x se escalará a un rango de tiempo según los datos disponibles. Ese comportamiento es problemático cuando se intenta comparar el gráfico que crea JMP con el gráfico generado por nuestro software.
Re: Bloquear escalas de forma independiente en Graph BuilderDefinir la propiedad Eje para una columna definitivamente parece una solución a mi problema. En mi respuesta a stephen.pearson Noté que debido a otro problema que necesitaba abordar, este problema se resolvió por sí solo, pero definitivamente es útil tener conocimiento de la propiedad Eje para las columnas.
Re: Bloquear escalas de forma independiente en Graph Builder
stephen.pearson wrote:
One way you can do this would be to use the filter to exclude the undesired rows.
En realidad, no habría filas no deseadas. El problema surge porque a menudo hay menos puntos de datos que intervalos de tiempo. Nuestros datos están agrupados en 96 intervalos de 15 minutos. En el modelo de prueba, nadie llega al sistema antes de las 6:30 a.m. Cuando el script genera el gráfico, el eje x se configura para que sea de medianoche a medianoche, por lo que no hay problema. El problema es que cuando cambio los parámetros de filtrado, digamos a una ubicación donde los eventos solo ocurrieron entre las 6:45 a. m. y las 10:30 p. m., esos tiempos efectivamente se convierten en los extremos del eje x.
Además, el script ha completado su ejecución una vez que el usuario puede comenzar a cambiar la configuración del filtro para revisar varios resultados. Mis secuencias de comandos no son complementos ni aplicaciones JSL (todavía no he llegado a ese punto), por lo que no continúan ejecutándose después de que el gráfico se representa con las condiciones de filtro iniciales. Al final, tuve que rellenar los contenedores vacíos con ceros para evitar problemas de comparación entre lo que informa el software que estoy probando y lo que informa JMP. Como tal, los 96 intervalos de tiempo siempre están llenos y el problema del cambio del eje x se resuelve por sí solo. Dicho esto, me has dado algunas cosas a considerar para trabajos futuros.
Re: Bloquear escalas de forma independiente en Graph BuilderComo alternativa a modificar el informe Graph Builder, puede asignar una propiedad de 'eje' a las variables que desea graficar:
http://www.jmp.com/support/help/Expression_Data.shtml
Re: Bloquear escalas de forma independiente en Graph BuilderUna forma de hacerlo sería utilizar el filtro para excluir las filas no deseadas. Si incluye el siguiente código en su script Graph Builder() (asumiendo que la columna de tiempo es continua y se llama x), debería tener el efecto deseado, pero requiere configurar el generador de gráficos para que se actualice cada vez que se modifica el filtro.
Enviar a informe (
Despacho(
{},
"X",
caja de escala,
{Min( col min(:x) ), Max( col min(:x)+86400 ), Intervalo( "Día"), Inc( 1 ), Ticks menores( 0 )}
)
)
Probablemente también necesitará incluir una declaración if antes del generador de gráficos para controlar cuándo se excluyen todas las filas de x.
Re: Bloquear escalas de forma independiente en Graph BuilderVaya, ¿dejé perplejos a todos? O tal vez esto simplemente se perdió en la lista de discusión.