Problemas con el dibujo de líneas y flechas en gráficosEstoy experimentando para descubrir cómo dibujar líneas y flechas en un gráfico en JSL. La Guía de Scripting no me ha ayudado mucho y no he visto nada publicado previamente en la comunidad. He subido mi script JSL y la tabla de datos a continuación.
En la tabla de datos, calculé las coordenadas de un círculo unitario a intervalos de 5 grados. Las representé gráficamente con el Constructor de Gráficos...

Inicialmente, me gustaría crear una flecha desde el origen hasta cada punto. Este es el script que uso. No obtengo ningún error al ejecutarlo, pero nunca dibuja las flechas. He intentado colocar el bucle FOR dentro del bloque Constructor de Gráficos, como se muestra aquí, y también fuera del bloque. No consigo que ninguno funcione.
Names Default To Here (1);
dt = "Circle Arrow Data";
Graph Builder(
Size( 540, 540 ),
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :x coord ), Y( :y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
For( i=0, i<360, i+=5,
Arrow( {0,:x coord[i]}, {0, :y coord[i]})
)
);
En definitiva, mi objetivo es que las flechas solo aparezcan al seleccionar una o varias filas, pero obviamente primero necesito que funcione. En realidad, se trata de mostrar la dirección del viento en un gráfico, pero estoy aprendiendo poco a poco a dibujar en gráficos.
Gracias de antemano por cualquier orientación proporcionada.
Automatización y scriptingRe: Problemas al dibujar líneas y flechas en gráficosExcelente momento 
Novedades en JMP19:
¿Pueden los gráficos de campos vectoriales ayudar a explicar el rendimiento en el último Super Bowl?

New Column( "x_0", Formula( 0 ));
New Column( "y_0", Formula( 0 ));
Graph Builder(
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) ),
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
Ordering( "Within Row" ),
Connection( "Arrow" )
)
)
);
Re: Problemas al dibujar líneas y flechas en gráficosHola @hogi, gracias por el script. Funciona de maravilla.
Estoy tratando de entenderlo... así que tengo un par de preguntas.
1) ¿Qué hace el parámetro Posición?
2) ¿De dónde vienen el 1 y el 2 en los argumentos X e Y?
3) ¿Qué hace el Ordenamiento (“Dentro de Fila”)?
Parece haber documentación muy incompleta sobre estas funciones en la ayuda y el índice de scripts.
Una vez más, gracias.
Re: Problemas al dibujar líneas y flechas en gráficosEstoy de acuerdo, el índice de scripts no es tan bueno como los de otros programas como Mathematica o Matlab, o la enorme documentación en línea para Python y C++. Hay algunas actividades para mejorar la situación: Índice de scripts completo
Por otro lado, hay muchas cosas que puedes aprender con la práctica . Simplemente abre Graph Builder y crea tu gráfico usando la función de arrastrar y soltar. Solo toma unos segundos, y optimizar el gráfico toma otros pocos. Luego, selecciona "Guardar script en la tabla de datos" y compara lo que hiciste con lo que encuentres en el código.
- El orden de filas es una nueva función de JMP19. Se puede usar cuando se usan conjuntos de coordenadas para X e Y.
y es la nueva opción predeterminada para este caso
[aviso: el gráfico no cambia cuando activo la opción]
- let's drag the coordinates into the plot, first x_0 and y_0
Variables( X( :x_0 ), Y( :y_0 ) ),
- then x_coord / y_coord
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) )
- now, we just have to activate the line plot. By default, it uses all available coordinated:
X(1) is x_0
X(2) is coordenada x
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
)
)
we can also deactivate variables via:
Entonces el código se reducirá a:
Elements(
Line( X( 1 ), Y( 1 ),
Gráficos con líneas y flechas que conectan múltiples coordenadas: una gran mejora en JMP19.
Gráficos con líneas y flechas que conectan múltiples coordenadas. ¡Una gran mejora en JMP19!
Imagina que, en lugar de flechas, quieres trazar tres conjuntos de coordenadas (puntos) dentro del mismo gráfico. Luego, tienes que añadir tres puntos al gráfico y desactivar las "otras" coordenadas tres veces. Funciona, ¡pero es un poco lioso!

¡Imagínese si quisiera trazar diez conjuntos de coordenadas!
El siguiente paso lógico sería copiar la nueva funcionalidad "dentro de la fila" a los gráficos de puntos.
Múltiples conjuntos de datos x e y representados como "pares" sin tener que apilar columnas
¡Realmente espero que esta característica se implemente pronto!
Re: Problemas al dibujar líneas y flechas en gráficosEntonces, ¿los argumentos 1 y 2 en las funciones X e Y son simplemente el orden en que aparecen en la función de variables? ¿Lo entiendo correctamente?
Entonces, ¿qué hace Position(1) en la función Variables? Parecería que esto haría que la coordenada :x y la coordenada y: sean 1, no x_0 y_0.
Lo siento. Esto es un poco confuso para mí.
Re: Problemas al dibujar líneas y flechas en gráficosAhhh... Así que saqué la posición (1) y ejecuté el script. Esto es lo que obtuve...

Por lo tanto, la forma en que se agregan las variables generaría cuatro gráficos separados. El comando Posición selecciona cuál de los gráficos se mostrará.
Creo que es correcto...
Experimentaré con esto un poco más. Sería un buen videotutorial en algún momento.
Gracias por toda tu ayuda en esto.
Re: Problemas al dibujar líneas y flechas en gráficos: )
Como prometimos, ¡es muy fácil aprender los scripts "haciéndolos"!
Además de eso, hay una buena posibilidad de que de esta manera el aprendizaje se fije mucho mejor.:)
Re: Problemas al dibujar líneas y flechas en gráficosSí. Estoy de acuerdo. Pero a veces todavía es difícil entender qué está pasando.
Por ejemplo, reemplacé Posición(1) por Posición(2) pensando que mostraría un cuadrante diferente del gráfico. Pero... no hizo nada. Así que el 1 en Posición(1) probablemente sea un booleano.
No encuentro nada sobre esto ni en línea, ni en el índice de scripts ni en la ayuda en línea. Quizás estoy buscando donde no debería.
De cualquier modo, gracias de nuevo.
Re: Problemas al dibujar líneas y flechas en gráficosEn lugar de intentar escribir el código y comprobar cómo funciona...
Pruebe el enfoque inverso:
Después de crear un gráfico complicado en Graph Builder, inspeccione el código y saque conclusiones:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :name ),
Y( :weight ),
Y( :height, Position( 2 ) ),
Y( :age ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Points( X, Y ) ),
Elements(
Position( 1, 2 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 1 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 2 ) )
),
Elements( Position( 1, 3 ), Points( X, Y ) )
);
Si solo hay 2 elementos, no hay diferencia entre agregar una segunda entrada y agregar una segunda entrada como segunda .
La posición (2) es válida para tres o más elementos. Por defecto, el tercer elemento se añade como tercero. Si desea realizar otra acción, puede añadirla en la posición (2).