Constructor de gráficos: conecta un subconjunto de puntos con segmentos de línea y muestra solo marcadores para los demás puntosHola,
Estoy intentando usar el Constructor de Gráficos para conectar un subconjunto de puntos con segmentos de línea y mostrar solo los marcadores de los demás puntos. De esta forma, mi gráfico se ve más o menos así (las líneas se añadieron manualmente en una imagen a modo de ilustración):

Intenté usar una columna independiente para usar la función de superposición, lo que permite trazar líneas separadas para grupos de puntos distintos. Sin embargo, no pude eliminar las líneas y dejar solo marcadores (o viceversa) para un solo grupo de puntos.
En la tabla JMP, coloqué los puntos que deben conectarse con una línea como 4 puntos separados. Idealmente, el último de estos 4 puntos debería estar conectado con el primero.
Se adjunta el archivo JMP (JMP 18, versión normal, no PRO).
Cualquier sugerencia o comentario será muy apreciado.
¡Gracias!
Vladimir
Exploración y visualización de datosRe: Generador de gráficos: conectar un subconjunto de puntos con segmentos de línea y mostrar solo marcadores para los demás puntos
Lo produje de forma interactiva.
- Agregué una fila de superposición adicional a la tabla de datos para agregar la línea de conexión para terminar donde comenzó.

- Luego arrastré la columna Overlay_column al cuadro desplegable de color.
- Luego agregué una línea al gráfico que mostraba 2 líneas.

- No quería la línea negra, así que simplemente establecí el color de la línea negra en blanco.

- Esto dejó los marcadores de los puntos de los datos no superpuestos con un aspecto extraño. Esto se debe a que la antigua línea negra se muestra sobre los puntos.
- Para mover los puntos negros que se mostrarán sobre las líneas ahora blancas (invisibles para el usuario), hice clic derecho en el gráfico y seleccioné Personalizar.

- Luego seleccioné el Marcador 0 y, usando la flecha hacia abajo, moví el marcador negro hacia abajo más allá de la Línea (0).

- Lo que produjo el gráfico final

Aquí está el JSL que generará el gráfico.
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Ex ),
Y( :Gxy ),
Overlay( :overlay_column ),
Color( :overlay_column )
),
Elements(
Points( X, Y, Legend( 5 ) ),
Line( X, Y, Legend( 6 ), Row order( 1 ) )
),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Color( 0 ), Marker( "FilledCircle" )},
Item ID( "0", 1 )
),
Properties( 1, {Marker( "Circle" )}, Item ID( "1", 1 ) )
), Legend Model(
6,
Properties( 0, {Line Color( 2 )}, Item ID( "0", 1 ) )
)}
),
Dispatch( {}, "Graph Builder", FrameBox, {Reorder Segs( {1, 2, 5, 6} )} )
)
);
Hay otras maneras de manejar esto. Aquí hay un método JSL sencillo que usa Add Graphic Script para dibujar la línea.

Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :Ex ), Y( :Gxy ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Gxy", ScaleBox,
{Min( 0.781114518510881 ), Max( 3.84890945699133 ), Inc( 0.5 ),
Minor Ticks( 0 )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "Red" );
Line( {5, 1}, {5.5, 3.5}, {10, 3}, {11, 1.5}, {5, 1} );
)}
)
)
);
No se requieren columnas ni filas superpuestas
Re: Generador de gráficos: conectar un subconjunto de puntos con segmentos de línea y mostrar solo marcadores para los demás puntosHola @VladimirB ,
Podría obtener algo similar a lo que buscas, pero este enfoque es bastante engorroso, ya que tienes que ordenar las filas para asegurarte de que los puntos se vinculen como quieres. Por lo tanto, en este punto no se trata simplemente de seleccionar los puntos y formar una figura cerrada. Sin embargo, como los datos están correctamente ordenados en tu ejemplo, esto sí cumple con tus objetivos.

Creé dos nuevas columnas (col 4 y col 5) que solo devolvían los valores de las filas seleccionadas y luego agregué una fila ficticia al final que permitía que las columnas 4 y 5 devolvieran el valor más bajo seleccionado, cerrando así la forma.


Agregué la columna 4 como un segundo eje Y y la columna 5 como un segundo eje x e hice que el elemento de punto solo respetara Gxy y Ex y que el elemento de línea solo respetara Col4 y Col 5 en el orden de filas.
Entonces, como dije, es un poco torpe, pero te lleva allí y puede inspirarte a ti o a otro usuario a hacer algo aún mejor.
Steve
Re: Generador de gráficos: conectar un subconjunto de puntos con segmentos de línea y mostrar solo marcadores para los demás puntosHola @VladimirB ,
Quería crear algo interactivo para crear puntos conectados, como me preguntaste, así que creé este script para poder vincular puntos interactivamente. Adjunto un script que puedes usar para seleccionar puntos y conectarlos mediante segmentos de línea.
Cuando lo ejecute, le preguntará qué columnas utilizar como columnas del eje Y y X.

Cuando presione Aceptar, se crearán tres columnas y luego aparecerá una nueva ventana:

En este punto puedes ejecutar el script de tabla.

lo que te da esto

Ahora puede seleccionar un punto y luego hacer clic en "establecer valor" en la ventana de la interfaz de usuario.

Luego puede seleccionar un nuevo punto y presionar nuevamente el botón "establecer valor" para conectar los dos puntos

Haz esto hasta que todos tus puntos estén seleccionados

Una vez que haya seleccionado todos los puntos, haga clic en el botón "Finalizado" para vincular la línea al punto de inicio.

Si te perdiste un punto, puedes seleccionarlo y presionar "Establecer valor", lo que hará que parezca desordenado por un segundo.

Pero puedes usar el botón "Insertar punto intermedio" para corregirlo. En este caso, el punto 8 debería estar después del punto 5, así que al hacer clic en el botón, introducirás el 5 y pulsarás "Aceptar".

¡Y Bam! los puntos se reordenan

Si necesita comenzar de nuevo, presione el botón "Borrar valores".
¡Espero que esto te sea útil! Además, estoy seguro de que esto no es robusto para muchos usos diferentes, así que es muy probable que, más allá de cómo acabo de mostrar el flujo de trabajo, tenga un error.
Hola @hogi ,
Estoy seguro de que podrías hacer que esto sea mucho más útil de lo que yo lo hice.
Steve
Re: Generador de gráficos: conectar un subconjunto de puntos con segmentos de línea y mostrar solo marcadores para los demás puntos¡Muchas gracias, TXNELSON!
¡Me diste una solución excelente! ¡Con un script genial! ¡Sin duda lo probaré!
¡Aprecio mucho su respuesta rápida y detallada con todas las pautas!
~ Vladimir
Re: Generador de gráficos: conectar un subconjunto de puntos con segmentos de línea y mostrar solo marcadores para los demás puntos¡Muchas gracias, SHAMPTON82!
¡Me diste una solución excelente! La probaré.
¡Aprecio mucho su respuesta rápida y detallada con todas las pautas!
¡Y además creaste una solución interactiva!
¡Esto es muy educativo para mí!
¡Gracias!
~ Vladimir