En alguna sesión con @Julian Aprendí cómo hacer que los diagramas de mapa de calor sean más atractivos agregando algunos bordes alrededor de las celdas.
Otras opciones, como el patrón, se pueden controlar a través del Panel de control de la izquierda.

Desafortunadamente, este no: debe aplicarse haciendo clic con el botón derecho en el gráfico/Personalizar... - y por separado para cada subparcela.

Por un lado, esto es bueno porque cada subtrama se puede configurar individualmente; por otro lado, esto puede llevar algún tiempo.
Si hay varias subparcelas abiertas, ¿cómo puedo cambiar todas las subparcelas a la vez y cómo puedo cambiar la configuración, de modo que (cuando la tabla de datos se actualice y aparezcan nuevas subparcelas) las nuevas subparcelas comiencen con linewidth=1?
La mayoría de estos comandos de clic derecho se pueden transmitir a todas las subparcelas presionando CTRL.
Pero para Personalizar... esto no parece ser posible.
Un truco es eliminar todas las subparcelas eliminando las columnas del Grupo X/Y, Ajustar/Páginas, aplicar LineWidth y luego agregar las columnas nuevamente a las DropZones respectivas. Pero eso lleva algo de tiempo.
Otro truco:
Envía el comando a todos los FrameBoxes del gráfico actual a través de JSL.
Pero aún existe el problema cuando aparecen nuevas subparcelas (sin los bordes).
¿Alguien usa mapas de calor con bordes alrededor de las celdas? ¿Y recomendaciones sobre cómo facilitar el uso?

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 454, 256 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Group X( :sex ), Overlay( :sex ) ),
Elements( Heatmap( X, Y, Legend( 3 ), Bin Shape( "Hexagonal" ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( HexSeg( 1 ), Line Width( 1 ) )}
)
)
)
¿Tal vez la personalización copiar y pegar funcione en este caso? Haga clic con el botón derecho en el gráfico -> Editar -> Copiar personalizaciones. Luego vaya a otro marco y haga lo mismo, pero pegue las personalizaciones (creo que también puede transmitir esto con Ctrl).
Hola @hogi ,
Mencionas que una opción es:
Envíe el comando a todos los FrameBoxes del gráfico actual a través de JSL.
Si no sé cuáles serán los valores del Grupo X, ¿cómo lo hago?
Supongo que puedo hacerlo enviando un mensaje a los Framebox (es) algo como este (donde gb1 es una referencia al Graph Builder):
bordercode = "HexSeg( 1 ), {Line Width( 1 )}";
fnDef = Expr(
(gb1 << xpath( "//FrameBox" )) << DispatchSeg( __aa__ )
);
Substitute Into( fnDef, Expr( __aa__ ), parse( bordercode ) );
Parse( fnDef );Pero recibo el siguiente error:
Unexpected ",". Perhaps there is a missing ";" or ",".
Line 1 Column 13: HexSeg( 1 )►, {Line Width( 0.5 )}
The remaining text that was ignored was
,{Line Width(0.5)}Entonces supongo que estoy formateando el mensaje incorrectamente. Probé varias combinaciones, con y sin "Parse", etc., pero no tuve suerte.
¡Gracias por cualquier sugerencia!
fbs =current report() << xpath( "//FrameBox" );
fbs << {DispatchSeg( HexSeg( 1 ), Line Width( 1 ) )}