¿Cómo estirar GB para llenar todo el espacio disponible?Digamos que tengo un cuadro de Alineación de 3 columnas con algunos cuadros de visualización, y luego, como segunda fila, tengo un Cuadro de desalineación con un Creador de gráficos dentro.
El ejemplo se puede ver ejecutando este script:
dt = New Table( "DEMO",
Add Rows( 10 ),
New Column( "Category",
Character,
"Nominal",
Set Values( {"A", "A", "A", "A", "A", "B", "B", "B", "B", "B"} )
),
New Column( "X",
Character,
"Nominal",
Set Values( {"AA", "AD", "AC", "AD", "AC", "BD", "BF", "BF", "BD", "BS"} )
),
New Column( "Y_veryLongName_toMake_Tabulat_Large",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [12, 32, 42, 23, 21, 12, 34, 53, 23, 12] )
)
);
tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Analysis Columns( :Y_veryLongName_toMake_Tabulat_Large ),
Statistics( Sum, Mean )
),
Row Table( Grouping Columns( :Category, :X ) )
)
);
gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Category ),
X( :X, Position( 1 ) ),
Y( :Y_veryLongName_toMake_Tabulat_Large ),
Color( :Category )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 9 ) ) )
);
rtab = tab << Report;
rgb = gb << Report;
lb = LineUp Box(NCol(3), rtab, rtab, rtab, Unlineup Box(rgb) );
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);Así es como se ve:

Ahora, quiero que Graph Builder llene todo el espacio horizontal. No sé el tamaño de ese espacio, así que no quiero especificarlo directamente, solo quiero que llene todo el espacio que esté disponible.
Intenté usar Set Auto Stretching (1,0) en rgb, pero no ayudó mucho.
Experimentalmente, descubrí que si voy a las propiedades y cambio Estiramiento para X de Neutral a Relleno para CADA CAJA desde Cuadro de marco hasta Cuadro de contorno, así:

entonces parece que quiero que se vea:

Preguntas:
1. ¿Es esta la única manera?
2. Si es así, ¿cómo escribirlo?
secuencias de comandosRe: ¿Cómo estirar GB para llenar todo el espacio disponible?Ok, probé con más cosas:
rgb << Fit To Window("On");Este no funcionó.
rgb[FrameBox(1)] << Set Auto Stretching(1,0);
Este, donde aplico Estiramiento automático a FrameBox, no todo el informe, funcionó.
Las preguntas con las que me encontré en el proceso siguen en pie: ¿Cuál es la sintaxis adecuada para XPath Axes? Como, ancestro, hijo, ancestro-o-yo, etc....
Re: ¿Cómo estirar GB para llenar todo el espacio disponible?Otra opción sería también crear el generador de gráficos directamente dentro de la nueva ventana
Names Default To Here(1);
dt = New Table("DEMO",
Add Rows(10),
New Column("Category", Character, "Nominal", Set Values({"A", "A", "A", "A", "A", "B", "B", "B", "B", "B"})),
New Column("X", Character, "Nominal", Set Values({"AA", "AD", "AC", "AD", "AC", "BD", "BF", "BF", "BD", "BS"})),
New Column("Y_veryLongName_toMake_Tabulat_Large",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([12, 32, 42, 23, 21, 12, 34, 53, 23, 12])
)
);
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:Y_veryLongName_toMake_Tabulat_Large), Statistics(Sum, Mean)),
Row Table(Grouping Columns(:Category, :X))
)
);
gb_expr = Expr(
gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel(0),
Variables(X(:Category), X(:X, Position(1)), Y(:Y_veryLongName_toMake_Tabulat_Large), Color(:Category)),
Elements(Points(X(1), X(2), Y, Legend(9)))
)
);
rtab = tab << Report;
lb = Lineup Box(N Col(3), rtab, rtab, rtab, Unlineup Box(gb_expr));
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);
gb << Auto Stretching("On");Re: ¿Cómo estirar GB para llenar todo el espacio disponible?Bueno, es una buena manera de hacerlo, excepto en mi caso de uso, este script se ejecuta en muchas tablas que un usuario carga consecutivamente, y esta ventana ahora obtiene esos cuadros de alineación agregados uno tras otro. Con cada tabla siguiente, la anterior se cierra, por lo que no puedo tener gráficos en vivo, necesito tener informes que permanezcan después de que se cierre la tabla.
Intenté ejecutar esta expresión:
gb_expr = Expr(
(gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel(0),
Variables(X(:Category), X(:X, Position(1)), Y(:Y_veryLongName_toMake_Tabulat_Large), Color(:Category)),
Elements(Points(X(1), X(2), Y, Legend(9)))
))<<REPORT></REPORT>
pero no funcionó. ¿Alguna idea de cómo modificarlo para que Graph Builder no desaparezca de la ventana si cierro la tabla?
Re: ¿Cómo estirar GB para llenar todo el espacio disponible?Creo que funciona si establece Estiramiento automático en el Cuadro de marco después de clonar el informe:
lb = LineUp Box(NCol(3), rtab, rtab, rtab, Unlineup Box(rgb) );
lb[FrameBox(1)] << Set Auto Stretching(1,0);
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);
Las propiedades de extensión generalmente se borran cuando se clonan los cuadros, porque los comportamientos no siempre se traducen cuando cambia el diseño.