假設我有一個帶有一些顯示框的 3 列 Line Up 框,然後作為第二行,我有一個帶有 Graph Builder 的 Unlineup 框。
通過運行此腳本可以看到示例:
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);所以這就是它的樣子:

現在,我希望 Graph Builder 填充所有水平空間。 我不知道那個空間的大小,所以我不想直接指定它,我只想讓它填滿所有可用的空間。
我嘗試在 rgb 上使用 Set Auto Stretching (1,0),但沒有多大幫助。
通過實驗,我發現,如果我轉到屬性並將 X 的拉伸從 Neutral 更改為 Fill for EACH AND EVERY BOX,從 Frame Box 一直到 Outline Box,就像這樣:

然後看起來我希望它看起來:

問題:
1.這是唯一的方法嗎?
2. 如果是 - 如何編寫腳本?