Generador de gráficos Línea y=x no vinculada a un gráfico específicoEstoy intentando trabajar en Graph Builder para crear una línea con JSL de correlación perfecta (y=x) para el diagrama de dispersión. Vea a continuación, utilizando los datos de muestra de Restaurant Tips como ejemplo.

Cuando hago esto manualmente, aquí está el script que genera JMP:
Graph Builder(
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :Bill Amount ), Y( :Tip Amount ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Tip Amount", ScaleBox,
{Min( -0.062875 ), Max( 72.9215829464286 ), Inc( 10 ), Minor Ticks( 1 )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "red" );
Y Function( x, x );
)}
)
)
);Tenga en cuenta que esto está vinculado a este gráfico específico.
¿Cómo puedo hacer que esto sea universal para aplicarlo a cualquier gráfico del generador de gráficos en el que esté trabajando? Mi objetivo final es convertirlo en un complemento o, mejor aún, en un botón del generador de gráficos (si es posible) para trazar esta línea en cualquier gráfico en el que esté trabajando.
Hay un video antiguo y algo de información antigua en la Comunidad sobre esto, pero todo lo que pude encontrar está vinculado a un gráfico específico. Creo que tal vez no entiendo muy bien el cuadro de marco. Probé algunas variaciones de scripts usando el cuadro de marco pero no llegué a ninguna parte.
Gracias como siempre por cualquier ayuda.
Automatización y scriptingMac OSRe: Generador de gráficos La línea y=x no está vinculada a un gráfico específicoMi aplicación específica es que a menudo tengo que comparar datos de sensores redundantes que, idealmente, deberían proporcionar datos perfectamente redundantes. Por supuesto, la realidad interviene y, a menudo, este no es el caso. Por lo tanto, un diagrama de dispersión con la línea y=x es mi forma rápida de evaluar los datos de los dos sensores.
Re: Generador de gráficos La línea y=x no está vinculada a un gráfico específicoGran idea. ¡La uso muy a menudo!
-> Lo agregaré a la barra de herramientas del generador de gráficos : )
fbs = current report() << xpath("//FrameBox");
fbs << Add Graphics Script(
Pen Color( "gray" );
Y Function( x, x );
)
Re: Generador de gráficos La línea y=x no está vinculada a un gráfico específicoEste método debería permitirte hacer lo que quieras.
names default to here(1);
dt =
// Open Data Table: Restaurant Tips.jmp
// → Data Table( "Restaurant Tips" )
Open( "$SAMPLE_DATA/Restaurant Tips.jmp" );
Graph Builder(
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :Bill Amount ), Y( :Tip Amount ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Tip Amount", ScaleBox,
{Min( -0.062875 ), Max( 72.9215829464286 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
);
rpt = Current Report();
rpt[framebox( 1 )] << Add Graphics Script(
2,
Description( "" ),
Pen Color( "red" );
Y Function( x, x );
);

Re: Generador de gráficos La línea y=x no está vinculada a un gráfico específicoGracias @hogi y @txnelson . Una vez más, ustedes han venido al rescate.
@hogi Lamentablemente, trabajo en una Mac y no parece que tu complemento funcione en una Mac. Es una pena. Se ve genial.
@txnelson (o en realidad, cualquiera de ustedes...) Tengo una pregunta sobre el comando Agregar secuencia de comandos de gráficos que utilizó, que tiene la misma sintaxis que el script JMP generado. Si no profundiza demasiado, ¿cuál es el propósito del argumento 2? La documentación sobre el comando Agregar secuencia de comandos de gráficos es muy incompleta.
Gracias de nuevo.
Re: Generador de gráficos La línea y=x no está vinculada a un gráfico específicoEs la posición del script, por lo que puedes forzar el orden en que se dibujan.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
Report(gb)[FrameBox(1)] << Add Graphics Script(
1,
Fill Color("Red");
Circle(
20,
{20, 20},
{50, 50},
{70, 80},
"FILL"
)
);
Report(gb)[FrameBox(1)] << Add Graphics Script(
2,
Circle(
20,
{40, 20},
{40, 50},
{40, 80},
"FILL"
)
);
Como ves en el menú de personalización

Editar: Especificar el orden de los elementos gráficos (jmp.com)
Re: Generador de gráficos La línea y=x no está vinculada a un gráfico específico
@hogi escribió:
Gran idea. ¡La uso muy a menudo!
-> Lo agregaré a la barra de herramientas del generador de gráficos : )
Disponible ahora:
