Graphbuilder y selección cruzadaEy,
Tengo una tabla de datos bastante grande similar a este formato:

a partir del cual creamos un conjunto de creadores de gráficos para visualizar diferentes tipos de ensayos y ensayos uno al lado del otro, más o menos así (un tipo de ensayo a la derecha con ensayos como páginas y lotes superpuestos, y luego el otro tipo de ensayo en la derecha pero la misma configuración):

Nos gustaría seleccionar los lotes en un gráfico y luego resaltarlos en los demás, pero como la selección se realiza en las filas, por supuesto, no se resaltarán.
Quería incluir un pequeño script para obligar a los dos constructores de gráficos a seleccionar todos los lotes existentes en la selección, pero no puedo hacerlo funcionar. No puedo encontrar la función correcta para configurarla en el generador de gráficos para capturar tal evento.
Tengo un pequeño script como este que seleccionará todas las filas asociadas con las filas seleccionadas:
batches = AssociativeArray(:Batch[dt << get selected rows])<< Get Keys;
dt << Select Where( Contains( batches, :Batch ) );
¿Existe alguna función que pueda configurar en el generador de gráficos que active este script ante un cambio de selección?
¿O es mejor lograr lo que aquí buscamos?
(También nos metemos en problemas cuando queremos cambiar los colores de algunos lotes y hacer que se reflejen en todos los gráficos, ya que tenemos el ID del lote como superposición. Creo que también puedo salir de eso con un script si puedo encontrar el gatillos correctos).
He estado buscando en el índice de secuencias de comandos todo tipo de funciones para configurar, pero no parecen tener ningún efecto contra el generador de gráficos, pero tampoco fallan.
Estoy en JMP 17.1 para MacOS (14.3.1).
Gracias de antemano,
Daniel
Automatización y secuencias de comandosExploración y visualización de datosRe: Múltiples constructores de gráficos y selección cruzadaRealmente no hay opciones fáciles para hacer esto además de usar un botón. Es posible que pueda utilizar tablas duplicadas y controladores de estado de fila, pero sugeriría hacer esto, ya que el controlador de estado de fila tiene muchos errores en JMP.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt2 = dt << Subset(All Rows, Selected Columns(0), private);
f = Function({a},
selages = dt[a, "age"];
rowstoselect = dt2 << Get Rows Where(Contains(selages, :age));
rowstates = J(1, N Rows(dt2), 0);
rowstates[rowstoselect] = 1;
dt2 << Set Row States(rowstates);
);
rs = dt << make row state handler(f);
nw = New Window("",
H List Box(
gb = dt << Graph Builder(
Size(525, 490),
Show Control Panel(0),
Variables(X(:age), Y(:height), Group X(:sex)),
Elements(Bar(X, Y, Legend(12)))
),
gb2 = dt2 << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(Bar(X, Y, Legend(4))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Fill Selection Mode("Selected Outlined")}
)
)
)
)
);
Crearé un elemento de la lista de deseos con respecto a este tipo de casos, pero hasta eso aquí está el elemento de la lista de deseos con la esperanza de que JMP mejore los diferentes manejadores que tenemos.
Mejorar los controladores de estado de JMP (etiqueta flotante, controlador de estado de fila, controlador de estado de filtro, programador, ...)
Re: Múltiples constructores de gráficos y selección cruzadaGracias por la respuesta Jarmo!
Le echaré un vistazo y, si funciona, volveré a hacer un botón.
No es bonito, pero supongo que al menos funcionará 
Gracias de nuevo,
Daniel