¿Obtener el número de cuadros de marco en un diagrama de generador de gráficos?Hola. Me gustaría saber si hay una buena manera de obtener el número de cuadros de marco en un diagrama de generador de gráficos. Tengo un diagrama de GB que contiene 104 FB (8 grupos X, 13 grupos Y). Escribí un guión para cambiar el tamaño del marcador para cada FB.
Summarize(dtstack, frame_lis = By(:Freq, :Image, :Region));
For(i=1, i<=NItems(frame_lis[1]), i++,
Try(
Report(gb) << Dispatch({}, "Graph Builder", FrameBox(i),
{Marker Size(1)}
)
)
);(crédito a @em en https://community.jmp.com/t5/Discussions/Can-t-change-all-marker-size-in-Graph-Builder-by-script/mp/3928 ). Pero en mi caso, la declaración Summarize sobreestima el número de FB, ya que he excluido varias filas en mi tabla que contienen ciertos valores de Región, Imagen o Frecuencia. Esta secuencia de comandos funciona, pero una vez que el contador excede el número real de FB en la gráfica de GB, empiezo a recibir mensajes de error en el registro ("No se puede encontrar FrameBox [" Graph Builder "] en {}"). La declaración "Try" fue un intento de evitar los mensajes de error, pero no funcionó. En cualquier caso, preferiría evitar esto simplemente calculando el número correcto de cuadros de cuadro para empezar. ¿Alguien tiene alguna idea?
GráficosScriptingRe: obtener el número de cuadros de marco en un diagrama de Graphbuilder?Para responder directamente a su pregunta, puede contar los elementos devueltos con una consulta XPath.Sin embargo, una mejor solución es simplemente enviar el mensaje Tamaño de marcador a todos los resultados devueltos con XPath en lugar de usar Dispatch.
Names Default To Here( 1 );
dt = Open( "$sample_data\Big Class.jmp" );
gb = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group Y( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
);
//Count Frame boxes here
N Items( (gb << XPath( "//FrameBox" )) );
//Or just update them all
(gb << XPath( "//FrameBox" )) << Marker Size( 8 );
Re: obtener el numero de cuadros de marco en un diagrama de Graphbuilder?Gracias @ih . Eso parece haber funcionado bien. Por alguna razón, aparece un error cuando intento aceptar su respuesta como la solución, pero esta fue la solución.