我正在使用本地数据过滤器来更改图表,但我希望它遍历每个“切换器”,并将每个切换器打印到 PowerPoint 幻灯片上。JMP18 可以实现吗?
你可以使用与列切换器类似的思路,但数据过滤器的操作会更加复杂。以下是一个选项
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(525, 454),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Local Data Filter(
Add Filter(columns(:age), Display(:age, N Items(6)))
)
);
Summarize(dt, items = By(:age));
lbb = (Report(gb) << top parent)["Local Data Filter", ListBoxBox(1)];
pptx_loc = "$TEMP/powerpoint_test.pptx";
gb << Save Presentation(pptx_loc);
For(i = 1, i <= N Items(items), i++,
lbb << Clear Selection;
lbb << Set Selected(i);
gb << Save Presentation(pptx_loc, Append);
wait(0);
);
// Web(pptx_loc);
Write();
但是你有没有考虑过用页面代替本地数据过滤器?这样更简单
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex), Page(:age)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
pptx_loc = "$TEMP/powerpoint_test.pptx";
gb << Save Presentation(pptx_loc);
// Web(pptx_loc);
Write();
您只需将每个图表保存到 JMP 日志(Ctrl+J)。保存所有版本的图表后,打开日志并导出到 PowerPoint。