Etiqueta flotante: ¿más de una trama?¿Es posible mostrar más de un gráfico en la etiqueta flotante?
Lo probé poniendo dos gráficos en un cuadro de lista H, pero noté que
- la etiqueta flotante solo muestra el primer gráfico
- después de hacer clic en la etiqueta flotante, se muestran ambos gráficos, pero el filtro de datos no se aplica al segundo gráfico:


Ver más...dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 401, 369 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), color( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
H List Box(
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Variables( X( :sex ), Y( :age ), color(:sex) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
),
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ), color(:sex) ),
Elements( Bar( X, Y, Legend( 6 ) ) )
)
)
)
)}
)
)
) Ingeniería de Calidad y ProcesosRe: Etiqueta flotante: ¿más de una parcela?Puede que no sea fácil de hacer (al menos no con gráficos simples, aunque puedes usar imágenes). Las etiquetas flotantes tienen una documentación bastante buena en el sitio de ayuda de JMP
Guía de secuencias de comandos > Creación de secuencias de comandos de gráficos > Etiquetas flotantes > Agregar gráficos o imágenes a etiquetas flotantes mediante Graphlets
Comandos de graflet
Imagen
Una secuencia de comandos obligatoria que agrega una miniatura de un gráfico o una imagen a la etiqueta flotante.
Imagen() siempre se ejecuta en un contexto de ejecución de etiqueta flotante derivado del elemento visual actual. El primero Cuadro de imagen (fuera de un filtro de datos local) encontrado se utilizará para generar la imagen mostrada.
Más documentación Uso de JMP > Informes JMP > Personalizar etiquetas flotantes en gráficos JMP
Re: Etiqueta flotante: ¿más de una trama?Hm, cómo obtener acceso a la local:_whereExpr
Supongo, un error bastante simple, pero no lo encuentro...
Ver más...
Re: Etiqueta flotante: ¿más de una parcela?Lo más probable es que su _whereExpr se evalúe y devuelva el valor faltante.
Re: Etiqueta flotante: ¿más de una trama?Ay, sí.
Entonces, _whereExpr no era el problema real
--> problema real solucionado a través de sustituto
Ver más...dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
local_whereExpr = Expr(
:height == 61 & :weight == 128
); // for quick debugging
dt << Graph Builder(
Size( 401, 369 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), color( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Show( Namespace( "local" ) << Get Contents() ); //contains :_whereExpr
// New Window("test", //for quick debugging
Eval(
Substitute(
Expr(
H List Box(
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Variables( X( :sex ), Y( :age ), Color( :sex ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
),
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Variables( X( :sex ), Y( :age ), Color( :sex ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) ),
Local DataFilter(
Close Outline( 1 ),
Add Filter( columns( :height, :weight ), Where( __myWhereExpr1__ ), Where( __myWhereExpr2__ ) )
)/*,
SendToReport( // Needen for Jmp 17
Dispatch({},"sex",ScaleBox,{Format( "Best", 9 ), Min( -0.5 ), Max( 1.5 ), Inc( 1 ), Minor Ticks( 0 )}),
Dispatch({},"age",ScaleBox,{Format( "Fixed Dec", 12, 0 ), Min( -0.5 ), Max( 5.5 ), Inc( 1 ), Minor Ticks( 0 )}
)
)*/
)
)
),
Expr( __myWhereExpr1__ ), Arg( Name Expr( local:_whereExpr ), 1 ),
Expr( __myWhereExpr2__ ), Arg( Name Expr( local:_whereExpr ), 2 ),
Expr( __myWhereExpr__ ),
Name Expr( local:_whereExpr )
)
);
)//
)}
)
)
);dt = Abrir( "$SAMPLE_DATA/Big Class.jmp" ); local_whereExpr = Expr( :altura == 61 & :peso == 128 ); // para una depuración rápida dt << Graph Builder( Size( 401, 369 ), Show Control Panel( 0 ), Graph Spacing( 4 ), Variables( X( :height ), Y( :weight ), color( :sex ) ), Elementos( Puntos( X, Y, Leyenda( 1 ) ), Suavizado( X, Y, Leyenda( 2 ) ) ), SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Establecer Graphlet( Imagen( Mostrar ( Namespace( "local" ) << Get Contents() ); //contiene :_whereExpr // New Window("test", //para una depuración rápida Eval( Substitute( Expr( H List Box( Graph Builder( Show Control Panel ( 0 ), Bloquear escalas ( 1 ), Variables ( X( :sexo ), Y( :edad ), Color( :sexo ) ), Elementos( Mapa de calor( X, Y, Leyenda( 5 ) ) ) ), Creador de gráficos( Mostrar panel de control (0), Bloquear escalas (1), Variables (X (: sexo), Y (: edad), Color (: sexo)), Elementos (Mapa de calor (X, Y, Leyenda (5))), Local DataFilter( Cerrar esquema( 1 ), Agregar filtro( columnas( :altura, :peso ), Where( __mywhereexpr1__ ), Where( __mywhereexpr2__ ) ) )/*, SendToReport( // Needen for Jmp 17 Dispatch({},"sex" ,ScaleBox,{Formato( "Mejor", 9 ), Mín.( -0.5 ), Max( 1.5 ), Inc( 1 ), Minor Ticks( 0 )}), Dispatch({},"age",ScaleBox,{Format( "Fixed Dec", 12, 0 ), Min( -0.5 ), Max( 5.5 ), Inc( 1 ), Minor Ticks( 0 )} ) )*/ ) ) ), Expr( __myWhereExpr1__ ), Arg( Name Expr( local:_whereExpr ), 1 ), Expr( __mywhereExpr2__ ), Arg( Name Expr( local:_whereExpr ), 2 ), Expr( __mywhereExpr__ ), Name Expr( local:_whereExpr ) ) ); )// )} ) ) );
Re: Etiqueta flotante: ¿más de una parcela?De paso:
Generé la segunda subparcela directamente incluido el filtro de datos desde el principio.
La primera subtrama obtiene el filtro de datos a través de Hover Label Framework: después siendo inicializado sin filtro de datos.
Esto me recuerda a otro tema:
https://community.jmp.com/t5/Discussions/speeding-up-heatmap-graphs/mp/571277/highlight/true#M78103
Y, de hecho, Jmp 16 y Jmp17 se comportan de manera diferente aquí:
En Jmp16, el filtro de datos siempre se agrega después la inicialización del gráfico, incluso si el filtro de datos es parte del código Graph Builder.
Por lo tanto, para ambas parcelas, el rango está bloqueado a través de Escalas de bloqueo( 1 ) a toda la gama -> ambas parcelas se ven iguales.
En Jmp17, si el filtro de datos es parte del código de GraphBuilder (segundo gráfico), el filtro de datos se agrega inmediatamente.
Por lo tanto, los rangos de los ejes del segundo gráfico están restringidos a los datos filtrados.
-> nuevo: Si es necesario, se deben especificar los rangos de los ejes manualmente.
Jmp 17:

puente 16

Re: Etiqueta flotante: ¿más de una trama?Quizás, a veces, esto sea exactamente lo que el usuario quiere:
- muestra solo un gráfico con el filtro "desplazar el cursor" aplicado
- y al hacer clic en él:
- abrir el mismo gráfico
- más un segundo gráfico "estático" - sin aplicar un filtro "hover"
Si es así, a este error se le podría llamar característica.
En Graph-Builder-30-Second-Challenge @martindemel muestra que ni siquiera se necesita un cuadro de lista H/V circundante.