¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?Actualmente tengo el siguiente script:
gb = Graph Builder(...);
rgb = Report(gb);
win = New Window("Custom Window", Show Menu( 0 ), Show Toolbars( 0 ), rgb);
gb << Close Window;De esta manera obtengo mi pequeño gráfico de GB en una ventana agradable sin controles de usuario innecesarios.
El problema es que no puedo seleccionar puntos en ese gráfico: es un informe, el gráfico no es interactivo.
¿Cómo puedo:
a) hacerlo interactivo, para que un usuario pueda interactuar con la trama, o
b) ¿permanecer en la ventana original de Graph Builder, pero eliminar menús, barras de herramientas, etc.?
Automatización y secuencias de comandosRe: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?Puede simplemente ejecutar Graph Builder dentro de una nueva ventana (he usado expresión, ya que hace que la parte de la ventana nueva sea más limpia).
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);Re: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?¡Asi es como lo haces! ¡Funciona!
Sin embargo, ahora me estoy metiendo en otro problema. Mi trama es una serie de mapas de obleas (envueltos por WaferID) y, por lo tanto, deben ser círculos (no óvalos). Entonces configuré específicamente el tamaño de FrameBox:
(gb << xpath( "//FrameBox" )) << Set Width( 100 )<< Set Height( 100 )
Ahora, cuando se crea la ventana por primera vez, tiene un tamaño y el contenido (mi gráfico) se amplía para ajustarse a la ventana. Incluso si digo:
(gb << xpath( "/OutlineBox" ))<<SET stretch=""></SET>
Ignorará mi configuración de tamaño, estirará los gráficos para que se ajusten a la ventana y LUEGO desactivará el estiramiento.
¿Alguna idea de cómo solucionarlo? ¿Por ejemplo, decirle a la ventana que cambie su tamaño según el contenido, y no al revés?
Re: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?Esto depende parcialmente (en mi experiencia) de qué cuadro de visualización utilice para envolver el generador de gráficos. ¿Es solo una ventana nueva o algo más extraño como un cuadro de hoja o un cuadro divisor V? A veces algo como esto será suficiente.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
//gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(100);
(gb << xpath("//FrameBox")) << Set Width(200);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;Re: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?Sí, lo intenté inicialmente de la misma manera, el problema es que no funciona: <<
Re: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?No estoy seguro de dónde se ignoran.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(10);
(gb << xpath("//FrameBox")) << Set Width(15);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
nw << Set Window Size(1900, 1000);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;Re: ¿Cómo hacer Graph Builder interactivo en una ventana personalizada sin barras de herramientas ni menús?Si simplemente ejecuto la expresión, se abrirá en su propia ventana y allí puedo controlar los tamaños de FrameBox; a continuación se muestra un ejemplo de 50x50 además de FrameBoxes de 100x100. Básicamente, eso es lo que necesito, sólo en una ventana personalizada sin menús, etc.

Esto es lo que obtengo si lo ejecuto en la nueva ventana. No importa qué tamaños especifiques, todo termina así.
