225_es-ES
Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLRecientemente creé un script para crear un análisis TOPSIS multiatributo de toma de decisiones con algunos de mis datos para ayudar a seleccionar el mejor caso. Los cálculos son bastante básicos desde una perspectiva matemática y funcionan a la perfección. Creé una ventana para mostrar información sobre los datos con los que trabajo, las ponderaciones de importancia utilizadas en los cálculos en forma de gráfico de barras, una matriz de dispersión de los resultados, un diagrama de dispersión 3D de los resultados y una tabla con los 10 casos principales.
Decidí hacer esta interfaz más interactiva. Quiero que el usuario pueda cambiar las ponderaciones de importancia, rehacer los cálculos y actualizar los gráficos y tablas. He rehecho los cálculos sin problemas, pero tengo problemas con los elementos de visualización. Tengo algunos problemas específicos:
1) Al volver a ejecutar los cálculos, se actualiza la tabla de datos de la que se obtienen la información de los diagramas de dispersión y la tabla. A pesar de haber seleccionado colores y marcadores en la tabla de datos, la matriz del diagrama de dispersión solo muestra los puntos regulares no seleccionados tras la actualización (el diagrama de dispersión 3D parece actualizarse sin problemas). Volver a mostrar no soluciona este problema. Puedo solucionarlo ejecutando el comando "Rehacer análisis", pero esto abre una nueva ventana. ¿Hay alguna forma de reemplazar la matriz del diagrama de dispersión anterior en la misma ventana con el comando "Rehacer análisis"?
2) No he podido actualizar la tabla de mis 10 casos principales. La tabla es un cuadro con varias columnas numéricas. He probado con Remostrar y usando <
3) El último problema es que el gráfico de barras se ejecuta desde una tabla de datos diferente a la de los demás gráficos y tablas. Para crear correctamente todos los elementos, tuve que solucionar este problema usando algo como esto:
elementoDePantalla = tablaDeDatosActual(x); Gráfico(...)
Este enfoque funciona, pero no puedo pasar mensajes a displayElement como si fuera un gráfico. ¿Hay alguna mejor solución?
He revisado el manual y no he encontrado nada específico sobre cómo actualizar elementos de visualización existentes, aparte de Reshow. Soy relativamente nuevo en JSL, especialmente en la creación de visualizaciones interactivas, así que espero que solo me esté perdiendo algo. Gracias de antemano por cualquier consejo.Re: Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLXan,
Gracias de nuevo.
Una pequeña nota para quienes tengan problemas similares: El método anterior no funcionará directamente. Recibirá un error del método "append" porque la matriz del diagrama de dispersión no es un cuadro de visualización. Sin embargo, si utiliza un cuadro de borde alrededor del diagrama de dispersión, como se muestra a continuación, funcionará correctamente.
spm = Borderbox( Matriz de diagrama de dispersión(...));Re: Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLPara el elemento 1 de JMP 7, podría funcionar de forma indirecta. Al agregar la matriz del diagrama de dispersión al informe combinado, envuélvala en un cuadro de lista. Luego, cuando desee actualizar la matriz, ejecútela de nuevo, elimine los resultados antiguos y añada los nuevos al cuadro de lista. La repetición podría activarse con un botón explícito o como efecto secundario de otra cosa. De entrada, se me ocurre algo como
contenedor = V Cuadro de lista( spm = Matriz de diagrama de dispersión(...));
...
spm << Eliminar;
contenedor << Append( spm = Matriz de diagrama de dispersión (...));
...
Para compartir resultados interactivos de JMP, JMP 8 permite exportar el Perfilador y el Gráfico de Burbujas como Flash. Todas las versiones de JMP permiten exportar imágenes estáticas a varios formatos, así como informes o diarios como HTML o RTF.Re: Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLXan,
Muchas gracias. Los pasos 2 y 3 funcionan perfectamente. En cuanto al paso 1, no tengo JMP 8. Obtener software nuevo puede llevar bastante tiempo por aquí. ¿Conoces alguna solución para JMP 7?
En relación con esto, he tenido que rehacer esta parte interactiva en Excel porque queremos que sea portable. Sin embargo, me parece mucho más difícil trabajar con Excel porque no trata los datos igual que JMP, y los gráficos en JMP son mucho mejores. ¿Existe o se ha hablado de añadir a JMP la posibilidad de crear pequeños ejecutables con funcionalidades quizás limitadas que puedan ejecutarse sin JMP? Sé que MATLAB tiene cierta capacidad para esto. Entiendo que no sea una opción viable para SAS, pero sería útil poder usar los gráficos de JMP para comunicarse con quienes toman decisiones y no necesitan las funciones de análisis más potentes.Re: Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLParece que lo estás haciendo bastante bien hasta ahora.
1) Aparentemente, la matriz de diagrama de dispersión es más sensible a las actualizaciones de la tabla de datos que el diagrama de dispersión 3D. Si tiene JMP 8, hay una opción de "Recalcular automáticamente" en el submenú Script que activará un análisis de rehacer localmente cada vez que cambie la tabla de datos.
2) Puedo lograr que << Establecer valores funcione si paso los valores como una matriz:
ncb << Establecer valores([1, 2, 3]);
3) Puedes pasar nombres de plataformas como mensajes a las tablas de datos y deberías poder usar x << Chart(...)Re: Actualización de gráficos y tablas en una ventana de visualización personalizada mediante JSLHe notado que el foro se ha vuelto un poco más activo, así que pensé en intentar reactivarlo para ver si alguien tiene alguna idea.
Gracias.