Dilema de scripting de gráficos en un informe con múltiples frameboxes<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy tratando de usar JSL para dibujar líneas horizontales en múltiples cajas de cuadros de un informe de trazado de superposición que contiene una agrupación "por". El intercepto en y deseado de la línea horizontal varía de un cuadro de fotogramas al siguiente. Esto parece fácil de hacer con algunos bucles y el comando "agregar script de gráficos", sin embargo, las líneas horizontales siempre aparecen en la misma ubicación en cada cuadro de marco. Por ejemplo, si el informe tiene 5 frameboxes y la lista de interceptación y contiene 5 valores diferentes, las 5 frameboxes mostrarán la línea en yintercept [5] porque todas contienen la misma secuencia de comandos: "HLine (yintercept ); "y 5 fue el último valor de i. ¿Alguna idea sobre cómo asignar un script único a cada framebox?
Re: dilema del scripting de gráficos en un informe con múltiples frameboxesTal vez a veces hay que hablar de ello ...
Aquí es lo que hizo el truco para mí:
for (i=1,i<=nBy,i++, //loop through each of the by groups in the report
minLine = Eval( Eval List(dPATMin[i]) );
maxLine = Eval( Eval List(dPATMax[i]) );
eval(
Eval Expr(
rep[Frame Box(i)] << Add Graphics Script(
2,
H Line( Expr(minLine) );
H Line( Expr(maxLine) );
);
)
);
);Re: dilema del scripting de gráficos en un informe con múltiples frameboxesHola de nuevo,
desafortunadamente, no pude resolver el problema de agregar diferentes guiones de gráficos a múltiples frameboxes con la solución anterior.
Aquí está mi guión:
for (i=1,i<=nBy,i++, //loop through each of the by groups in the report
minLine = Eval( Eval List(dPATMin[i]) );
maxLine = Eval( Eval List(dPATMax[i]) );
eval(
substitute(
expr(
rep[Frame Box(i)] << Add Graphics Script(
2,
H Line( minLine );
H Line( maxLine );
);
)
,
expr(i)
,
i
);
);
);¿Alguien tiene una solución para agregar diferentes "H Lines" a múltiples FrameBoxes?
¡Gracias!
Re: dilema del scripting de gráficos en un informe con múltiples frameboxesPude resolver este dilema después de leer un poco en la guía de scripts JMP 9. La clave es hacer uso de la función de sustitución. Mi código original se parecía a esto:
para (i = 1, i <= nBy, i ++, // recorre cada uno de los grupos en el informe
r [Cuadro de marco (1)] << Agregar guión de gráficos (2, HLine (HT ));
);
Después de incorporar la función de sustitución, se ve así:
para (i = 1, i <= nBy, i ++, // recorre cada uno de los grupos en el informe
eval (sustituto
expr (r [Cuadro de marco (1)] << Agregar guión de gráficos (2, HLine (HT );
)), expr (i), i);
);
);
Así que ahora, cuando reviso el script asociado con cada framebox, veo HLine (HT [1]), HLine (HT [2]) ... en lugar de HLine (HT )