如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?目前我有以下脚本:
gb = Graph Builder(...);
rgb = Report(gb);
win = New Window("Custom Window", Show Menu( 0 ), Show Toolbars( 0 ), rgb);
gb << Close Window;这样我就可以在一个漂亮的窗口中获得我的小 GB 图,而无需不必要的用户控件。
问题是我无法选择该图上的点 - 这是一份报告,图不是交互式的。
我该如何:
a) 使其具有交互性,以便用户可以与绘图进行交互,或者
b) 保留原来的图形生成器窗口 - 但删除菜单、工具栏等?
自动化和脚本编写回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?您可以在新窗口中运行图形生成器(我使用了表达式,因为它使新窗口部分更清晰)。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?你就是这样做的! 有用!
但是,我现在遇到了另一个问题。 我的绘图是一系列晶圆图(由 WaferID 包裹),因此需要是圆形(而不是椭圆形)。 所以我特意设置了FrameBox的大小:
(gb << xpath( "//FrameBox" )) << Set Width( 100 )<< Set Height( 100 )
现在,当首先创建窗口时,它具有一个大小,并且内容(我的绘图)被拉伸以适合窗口。 即使我说:
(gb << xpath( "/OutlineBox" ))<<SET stretch=""></SET>
它将忽略我的尺寸设置,拉伸绘图以适合窗口,然后关闭拉伸。
知道如何绕过它吗? 比如,告诉窗口根据内容改变其大小,而不是相反?
回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?这部分取决于(根据我的经验)您使用哪个显示框来包装图形生成器。 它只是新窗口还是更奇怪的东西,例如工作表盒或 V 形分离盒? 有时这样的事情就足够了
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
//gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(100);
(gb << xpath("//FrameBox")) << Set Width(200);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?是的,我最初以同样的方式尝试过,问题是它不起作用 - 将图形生成器平台放置在窗口内时,<<设置高度和<<设置宽度被忽略。
回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?我不确定他们在哪里被忽略
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(10);
(gb << xpath("//FrameBox")) << Set Width(15);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
nw << Set Window Size(1900, 1000);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;回复:如何在没有工具栏或菜单的自定义窗口中进行交互式图形生成器?如果我只是运行表达式,它将在自己的窗口中打开,在那里我可以控制 FrameBox 的大小,下面是 100x100 FrameBox 顶部的 50x50 的示例。 基本上,这就是我所需要的 - 仅在没有菜单等的自定义窗口中。

这就是我在新窗口中运行它得到的结果。 无论您指定什么尺寸 - 它最终都是这样的。
