Estoy tratando de dibujar en un gráfico alguna curva.Pero esa curva es diferente para algún conjunto de variables.Me pregunto si alguien tiene una buena manera de hacer que yfunction() cambie en función de lo que se selecciona en un filtro de datos local.Por ejemplo, si cambio la edad de 12 a 13, a continuación, quiero una onda coseno en lugar de una onda sinusoidal o algo así.
Nota: esto es para JMP en vivo, por lo que no creo que los controladores de cambio de filtro funcionen allí.Originalmente, solo los estaba trazando a todos con un dibujo por variable en cada uno individualmente, pero eso tampoco funciona en JMP en vivo y no puedo entender por qué.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 43 ) ), Smoother( X, Y, Legend( 44 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, N Items( 6 ) )
)
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 47.4910973084886 ), Max( 78.4293207137927 ), Inc( 5 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 43.4685580652897 ), Max( 152.924994106993 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
5,
Description( "" ),
Pen Color( "red" );
Pen Size( 3 );
Y Function(
49.5348183760347 + 101.831529865667 / 2 * (1
+Sine( (2 * Pi() * (x - 50)) / 16.6 )),
x
);
)}
)
)
);
Este objetivo es fácil si no te importa llevar un diario. Simplemente puede emplear una función de usuario en la llamada a Y Function() y definirla fuera del inicio de Graph Builder. Luego use un controlador de estado con el filtro de datos para definir una nueva función y envíe el cuadro de cuadro << Remostrar.
Si necesita llevar un diario, entonces no desea utilizar ninguna variable. En ese caso, agregaría un script de gráficos que usa solo valores literales, y eliminaría y agregaría uno nuevo basado en el filtro.
¡Divertirse!
Eso no funcionaría para JMP en vivo, ¿verdad?Por lo que he visto, a JMP en vivo REALMENTE no le gustan las secuencias de comandos.Lo intentaré de cualquier manera.
Craige tiene razón. En este momento no admitimos la ejecución de scripts JSL arbitrarios.
Una forma de saber si JMP Live admitirá lo que crea es publicarlo en JMP Live y luego descargar el script que se capturó desde el panel de detalles en JMP Live. Si ejecuta este script con las tablas necesarias para ejecutarlo (también puede descargarlas), lo que ve en JMP es lo que vería si el informe se actualiza o se regenera en JMP Live.
Hacer esto también sería útil si estás colaborando con otro usuario de JMP que descargará tu contenido para explorarlo más a fondo en JMP.
Espero que esto ayude.
~Juan