我的计算机上有多个版本的JMPPro,包括JMP 14.3和JMP 16.0。 我没有任何版本的选项可在报告窗口中自定义格式。 例如,假设我使用带有“ by”列的双变量(Y乘X拟合)平台,并且“ by”列中有80个唯一值。 在单列或单行中包含所有图将减慢对图的查看。 进行拖放将是乏味的。 我想做的是:
-在报告输出中指定行数和每行的图数
-如果有两个“ by”列,则可以选择将第一个“ by”列中的所有图放在报告输出的给定行中。 例如,假设有两个“ by”列,创建5个唯一的组合:A列的值为{tea,coffee}和B列的值为{milk,honey,sugar}。 数据表中的任何地方都没有出现咖啡和蜂蜜的混合物。 报告输出的第一行将包含3个“茶”图,每个图分别代表牛奶,蜂蜜和糖。 报告输出中的第二行将包含2个用于“咖啡”的图,每个对应于牛奶和糖。
我的问题是:
-是否可以在JMP中本地执行此操作?
-如果没有,是否有任何脚本/加载项可用于以这种方式格式化报告窗口?
我想我可以自己编写脚本,但这会很耗时,并且希望有一个简单的按钮。=)
我没有想到本机的方法(但是可能仍然有一些方法),因此这里有一些脚本想法可以帮助您入门:
要仅控制每行中有多少个报告,您应该可以仅使用带有N Col的Lineup Box:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
maxValsPerRow = 4;
nw = New window("", Lineup Box(N Col(maxValsPerRow),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal))
));
对于两个“ by”列,当By更改时要分成新的行(请注意Eval(EvalExpr()),用法):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
uniqVals = Associative Array(Column(dt, "Meal")) << get keys;
maxValsPerRow = 15;
nw = New window("", vlb = V List box());
For(i = 1, i <= N Items(uniqVals), i++,
vlb << Append(Eval(EvalExpr(
Lineup Box(N Col(Expr(maxValsPerRow)),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal), Where(:Meal == Expr(uniqVals[i])))
)
))
));