如何从多个 Y 图表中获取 y 轴标签并仅更改特定标签?在多个 y 图中,如何获取绘制的 y 轴标签/图块(例如,获取 AAA、BBB、CCC、DDD 和 FFF 作为列表)并更改一些特定的标签/图块(例如 BBB 和 DDD) ?

自动化和脚本编写视窗回复:如何从多个 Y 图表中获取 y 轴标签并仅更改特定标签?一种选择是使用 << 获取图例显示及其项目
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables(X(:height), Y(:weight), Overlay(:sex), Color(:age)),
Elements(Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
);
lgnd = gb << Get Legend Display;
items = lgnd << Get Items;
For Each({item}, items,
If(Contains({"12", "14"}, item << get label),
item << Set label(Repeat(item << get label, 3))
);
);回复:如何从多个 Y 图表中获取 y 轴标签并仅更改特定标签?@jthi谢谢。 恐怕我不跟随。 也许我没有正确解释这个案例。
我想捕获多个 y 轴图中现有的 y 轴标签(例如在列表中),然后将特定标签更改为所需的标签名称并重新绘制。
回复:如何从多个 Y 图表中获取 y 轴标签并仅更改特定标签?啊..我以为你想修改图例。 轴标签似乎是令人烦恼的事情之一(您可以删除它们并添加新标签,但我不太确定如何获取当前标签)。 所以 XPath 像平常一样进行救援(过滤掉图表标题和可能的 x 轴可能是个好主意)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:height), Y(:height), Y(:weight)),
Elements(Position(1, 1), Points(X, Y, Legend(3))),
Elements(Position(1, 2), Points(X, Y, Legend(1)))
);
rep = Report(gb);
tebs = rep << XPath("//GraphBuilderTitleBox/TextEditBox");
For Each({teb}, tebs,
cur_title = teb << get text;
show(cur_title);
If(cur_title == "weight",
teb << Set Text(Repeat(cur_title, 2))
);
);