¿Usando JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Estoy tratando de superponer los contenidos de dos gráficos de variabilidad separados, usando JSL. Mi script JSL ya genera los dos gráficos de variabilidad.
Puedo hacer la superposición manualmente usando Copiar contenido del marco uno el primer gráfico y Pegar contenido del marco en el segundo gráfico, pero quiero automatizar el proceso para que el script haga la superposición por sí mismo, después de hacer las tramas.
¿Existen comandos JSL que puedan hacer esto?
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Utilice el código XML para encontrar la etiqueta de la información que desea. Luego use el mensaje << XPath( expr ) para trabajar con él. Puede obtener una referencia al nodo, el valor asociado con el nodo y más. Las expresiones del lenguaje de consulta XPath facilitan esta tarea.

Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Hola DS,
Gracias por tu respuesta, pero cambié de táctica hace un tiempo.Hago el análisis de regresión, guardo los resultados en una tabla y uso Graph Builder para mostrar los resultados.No más copiar/pegar.
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Hola @pmroz ,
No puedo duplicar el error que está experimentando sin usar la misma tabla de datos. Pero, su código debería funcionar en general.
Probé algo similar en el archivo Titanic Passengers.jmp. El siguiente código JSL funciona y copia/pega el contenido de un informe (perfilador) en el gráfico de ajuste logístico del otro informe. Seguí tu mismo JSL básico y funcionó.
Names Default to Here( 1 );
fm = Fit Model(
Y( :Survived ),
Effects( :Age ),
Personality( "Generalized Linear Model" ),
GLM Distribution( "Binomial" ),
Link Function( "Logit" ),
Overdispersion Tests and Intervals( 0 ),
Name( "Firth Bias-Adjusted Estimates" )(0),
Run( 1, Profiler( 1, Confidence Intervals( 1 ), Term Value( Age( 29.881, Lock( 0 ), Show( 1 ) ) ) ) )
);
fmrep = fm << report;
lf = Logistic( Y( :Survived ), X( :Age ) );
lfrep = lf << report;
fmrep[framebox( 2 )] << Copy Frame Contents;
lfrep[framebox( 1 )] << paste frame Contents;
También pude hacer que funcionara en Desirability vs Age dentro de la ventana del informe GLM.
Names Default to Here( 1 );
fm = Fit Model(
Y( :Survived ),
Effects( :Age ),
Personality( "Generalized Linear Model" ),
GLM Distribution( "Binomial" ),
Link Function( "Logit" ),
Overdispersion Tests and Intervals( 0 ),
Name( "Firth Bias-Adjusted Estimates" )(0),
Run(
1,
Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
Term Value( Age( 29.881, Lock( 0 ), Show( 1 ) ) )
)
)
);
fmrep = fm << report;
fmrep[framebox( 2 )] << Copy Frame Contents;
fmrep[framebox( 3 )] << paste frame Contents;
¿Puedes compartir la tabla de datos con la que estás trabajando?
¡Espero que esto ayude!,
SD
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( X( :height ), Y( :weight ) );
bivr = biv << Report;
title = bivr[OutlineBox(1)] << Get Title;
x = Column( Regex( title, "Bivariate Fit of (.+) By (.+)", "\1" ) );
y = Column( Regex( title, "Bivariate Fit of (.+) By (.+)", "\2" ) );
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Gracias por la ayuda,
Tengo 1 pregunta más, estoy tratando de obtener lo que marqué en rojo, ¿cómo puedo obtener el Valor XY?
parece que solo puedo obtener el título
si lo hago en lugar de "obtener texto" -> "obtener xml", muestra MUCHA información, incluidos los valores XY, pero parece que es una forma más difícil de hacerlo ...
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Hola amigos,
Quiero hacer algo similar pero con un giro.Estoy haciendo un modelo generalizado de ajuste y quiero mostrar curvas de confianza en el gráfico de regresión.Puedo hacer clic derecho en el generador de perfiles y seleccionar Editar > Copiar contenido del marco .Luego hago clic derecho en el gráfico de regresión y selecciono Editar > Pegar contenido del marco .Este es mi resultado:

Mi pregunta es: ¿cómo hago esto en JSL?Este es mi intento (débil) pero no funciona:
FM = Modelo de ajuste (
Y ( : Nombre ( "Suma (un efecto)" ) , : Total ) ,
Efectos ( : Período ) ,
Personalidad ( Modelo lineal generalizado ) ,
Distribución GLM ( Binomio ) ,
Función de enlace ( registro ) ,
Pruebas e intervalos de sobredispersión ( 0 ) ,
Nombre ( "Estimaciones ajustadas por sesgo de Firth" )( 0 ) ,
Correr ( 1 , Perfilador ( 1 , Intervalos de confianza ( 1 ) ,
Valor del término ( Período ( 5.5 , Cerrar ( 0 ) , Espectáculo ( 1 ) ) )
)
)
) ;
// Ejecuta esto para encontrar partes relevantes del árbol
//fm << muestra la estructura del árbol;
fmrep = FM << informe ;
fmrep [ caja de marcos ( 3 )] << copiar el contenido del marco ;
fmrep [ caja de marcos ( 1 )] << pegar el contenido del marco ;
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Gracias por la rápida respuesta Ian.
Re: ¿Usar JSL para copiar el contenido del marco de un gráfico a un gráfico diferente?Nombres predeterminados a aquí ( 1 ) ;
dt = Abierto ( "$SAMPLE_DATA/Clase grande.jmp" ) ;
v1 = dt << Gráfico de variabilidad ( Y ( : altura ) , X ( : edad ) , Gráfico de desarrollo estándar ( 0 ) , Puntos nerviosos ( 1 )) ;
v2 = dt << Gráfico de variabilidad ( Y ( : peso ) , X ( : edad ) , Gráfico de desarrollo estándar ( 0 ) , Puntos nerviosos ( 1 )) ;
representante v1 = v1 << Informe ;
representante v2 = v2 << Informe ;
representante v1 [ MarcoCuadro ( 1 )] << CopyFrameContents ;
representante v2 [ MarcoCuadro ( 1 )] << PegarFrameContents ;