La línea se vuelve más suave cuando se crea a partir de un script JSL.¿Alguien puede ayudarme a identificar qué estoy haciendo mal aquí?
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(Y))),
Elements(Line(X, Y, Legend(3), Connection("Curve")), Points(X, Y, Legend(4)))
)
Mi línea se vuelve más suave, quiero que toque todos los puntos con una conexión de curva. Creé el gráfico desde la consola de JMP y funcionó bien, incluso copié el JSL del script de sesión, pero resulta que siempre que lo ejecuto a través de JSL me da un resultado más suave.
Tengo una pregunta más: el suavizador se dibuja en una columna numérica continua. Pensé que tal vez cambiarlo a nominal podría tener algún impacto y no se creó en absoluto (ni la línea ni el suavizador). ¿La línea no funciona en una columna numérica de tipo nominal?
Automatización y scriptingAnálisis y modelado de datos básicosExploración y visualización de datosRe: La línea se vuelve más suave cuando se crea a partir de un script JSL.Estás usando una conexión de curva y no de línea, por lo que te brinda suavizado. Además, es posible que no puedas conectar todos los puntos si hay muchos valores para los mismos valores del eje X, a menos que habilites el orden de filas.
Sin orden de filas

Con orden de filas (primero ordené los datos por peso)

Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.
Esto es lo que logro al usar el código - .


Pero cuando agrego una línea manualmente

A continuación, cambio la conexión a curva.



Logro lo que deseo. Una curva que toca todos mis puntos.
Entonces, ¿cómo puedo lograr esto a través de mi código?
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.La opción Suavizar (con puntos) es la opción predeterminada para algunas selecciones de columnas. Esa podría ser la razón por la que JMP la usa para su gráfico. ¿Cómo se ve el script creado por JMP si lo obtiene de la versión más suave?
Para mí esto parece funcionar bien.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 89, 60, 50, 40, 20, 10]))
);
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Esto no me funciona .
Lo intenté de nuevo .
No creé un suavizador manualmente. Creé una línea, le agregué puntos y la cambié por una curva. Copié el script (el mismo que aparece en la descripción). Pero el mismo script crea un suavizador, no una línea.
P- Cuando ejecuta su script, ¿qué ve en el panel de control del lado izquierdo? ¿Puntos y líneas? ¿O Puntos y suavizado? En mi caso, veo puntos y suavizado al ejecutar mi script de línea.
¿Puedes intentar agregar más puntos a tu código poco a poco en forma de zigzag y luego ejecutar tu script?
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.¿Qué versión de JMP estás ejecutando? Estoy ejecutando la 18.1.2. ¿Intentaste ejecutar mi script? ¿Puedes proporcionarme tu tabla de datos?
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 80, 90, 60, 70, 40, 30, 35, 20, 10]))
);
gb = dt << Graph Builder(
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Mi versión de JMP es

He cambiado el nombre de las columnas y también he eliminado las demás columnas excepto X e Y. Comprueba si esto funciona para ti.
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.¿Parece bien?

Names Default To Here(1);
dt = Open("$DOWNLOADS/data_jmp.jmp");
gb = dt << Graph Builder(
Variables(X(:X), Y(:Y)),
Elements(Line(X, Y, Legend(5), Connection("Curve")), Points(X, Y, Legend(6)))
);Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Sí, a mí me funciona lo mismo individualmente, ¿por qué no funciona desde un bucle?:( ¿Qué pasa? ¿Puedes comprobar este script una vez?
createDashboard = Function({dtMaxF, dtMaxR, normMeanColsF, normMeanColsR, direction},
New Window(direction || " Dashboard",
Tab Box(
"Maximum Values",
V List Box(
For(i = 1, i <= N Items(normalizedColumns), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normalizedColumns[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
),
"Normalized Average Values",
V List Box(
For(i = 1, i <= N Items(normMeanColsF), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsF[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
),
For(i = 1, i <= N Items(normMeanColsR), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsR[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
)
)
)
);
createDashboard(
dtMaxForward, dtMaxReverse, normalizedMeanColumns, normalizedMeanColumns, "Analysis"
);Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.¿Para qué se utilizan dtMaxF y dtMaxR en la función? ¿De dónde provienen las columnas normalizadas de la función?
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Ignore dtMaxF y dtMaxR (los eliminaré del código). Adjunto el script completo para que lo analice.
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Comience con algo muy pequeño. Puede comenzar creando un solo gráfico si las creaciones de sus tablas funcionan correctamente. Luego, amplíe a unos pocos gráficos diferentes, posiblemente de diferentes tablas. Faltan referencias de tabla al trazar gráficos y es posible que sus fórmulas no se comporten como espera ( inserte una expresión en otra usando Eval Insert, Eval Expr, Parse y Substitute ).
Re: La línea se vuelve más suave cuando se crea a partir de un script JSL.Está bien, déjame probarlo. Hasta ahora todas las fórmulas funcionan, pero déjame comprobarlo de nuevo.