Hola,
Tengo algunos scripts que generan gráficos que se ven así:

Pero me gustaría que siempre se viera así:

¿Cómo puedo hacer esto usando JSL?
Esto es solo un FYI, ya que la pregunta era sobre el cambio de marcadores por JSL.
Una solicitud frecuente es establecer un marcador especial basado en el valor o la condición de la fila de otra columna. La siguiente secuencia de comandos muestra los marcadores del juego de caracteres ASCII extendido y dos ejemplos de símbolos especiales, como una estrella o un signo de infinito usando la función
hexadecimal a número ( "código hexadecimal" ) . Ejecute el script, hay una espera, luego se cambian los marcadores para las filas 4 y 5.
Names Default to Here(1);
Markers_dt = New Table( "Marker Codes",
Add Rows( 301 ),
New Column( "Marker Number", Numeric)
);
Markers_dt:Marker Number << Set Each Value(Row() -1);
For( i = 1, i <= N Row( Markers_dt ), i++,
Marker Of( Row State( i ) ) = i-1;// Markers_dt:Marker Number[i]
);
wait(2);
Row State(4) = Combine States(
Selected State(1), Hidden State(1),
Color State("Dark Blue Green"),
Marker State( Hex to Number("221E") ) //Hex for unicode infinity
);
Markers_dt:Marker Number[4] = Hex to Number("221E");
Marker Of(Row State(5))= Hex to Number("2606"); //Hex for star
Markers_dt:Marker Number[5] = Hex to Number("2606");
También puede establecer el marcador en el gráfico haciendo clic con el botón derecho en el marcador en la leyenda y seleccionando Marcador > +.Tienes que hacer esto para todos los marcadores.Luego haga clic en el triángulo rojo para guardar el script en algún lugar.Se verá así:
dt = New Table( "Untitled", Add Rows( 11 ),
New Column( "X Value", Character, "Nominal",
Set Values(
{"02", "02", "02", "03", "03", "03", "04", "04", "05", "05", "05"}
)
),
New Column( "Y Value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [100, 120, 130, 110, 105, 108, 200, 220, 201, 190, 195] )
)
);
dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :X Value ), Y( :Y Value ), Overlay( :X Value ) ),
Elements( Points( X, Y, Legend( 14 ), Jitter( "None" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
14,
Properties( 0, {Marker( "Plus" )}, Item ID( "02", 1 ) ),
Properties( 1, {Marker( "Plus" )}, Item ID( "03", 1 ) ),
Properties( 2, {Marker( "Plus" )}, Item ID( "04", 1 ) ),
Properties( 3, {Marker( "Plus" )}, Item ID( "05", 1 ) ),
Properties( -1, {Marker( "Plus" )}, Item ID( "Y Value", 1 ) )
)}
)
)
);
Si desea que el script sea más legible para los humanos, también puede usar nombres como Marker ("Plus")
Debe comprender los estados de fila de JMP. Son fundamentales para controlar el comportamiento de las plataformas JMP. En este caso, debe cambiar el estado de la fila del marcador. El estado del marcador predeterminado es un punto. Puede seleccionar todas las filas de forma interactiva, seleccionar Filas > Marcador > "+" y luego anular la selección de todas las filas. Los cambios de estado de fila se envían a todos los objetos ("enlace dinámico") para que no tenga que cambiar el estado de fila antes de iniciar la plataforma.
Hay mensajes de tabla de datos para lograr lo mismo en un script:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ) );
Wait( 2 );
dt << Select All Rows << Markers( 1 ) << Clear Select;