全部,
我想询问有关使用多个参数编写 GB 图的最佳方法的输入。
假设我有一张这样的桌子:
New Table( "Untitled 140",
Add Rows( 12 ),
New Column( "Category",
Character,
"Nominal",
Set Values( {"A", "A", "A", "B", "B", "B", "C", "C", "C", "D", "D", "D"} )
),
New Column( "Value1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 4, 2, 3, 6, 2, 3, 5, 4, 1, 3, 6] )
),
New Column( "Value2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [6, 3, 5, 2, 8, 6, 5, 2, 6, 3, 5, 4] )
)
)我想编写一个这样的情节:

自动生成的脚本如下所示:
;Graph Builder(
Size( 522, 450 ),
Show Control Panel( 0 ),
Variables( X( :Category ), Y( :Value1 ), Y( :Value2, Position( 1 ) ) ),
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
)
需要注意的是,有任意数量的 Y 列,并且名称也是任意的。
对于像变异图这样的图,我会这样:
parameters = {:"Value1"n, :"Value2"n};
yExpr = Expr( Y() );
For Each( {value, index}, parameters, Insert Into( yExpr, Name Expr( value ), 1 ) );
Eval(
Substitute(
Expr(
Variability Chart( placeholder, X( :Category ), Std Dev Chart( 0 ) )
),
Expr( placeholder ), Name Expr( yExpr )
)
);我将列的名称作为列表接收,然后构造一个 Y 表达式,然后将其放入图表的脚本中。 它会给我一个可变图列表,但这对我来说没关系。
如果我想在 GB 的情况下采用相同的路线,看起来我将不得不构造两个表达式:
Y( :Value1 ), Y( :Value2, Position( 1 ) )
和
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
这基本上是整个脚本。
我的问题:有没有更好的方法,而不是用表达式进行一堆替换来组装这两行?
谢谢!