如何在沒有工具欄或菜單的自定義窗口中進行交互式圖形生成器?目前我有以下腳本:
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 的示例。 基本上,這就是我所需要的 - 僅在沒有菜單等的自定義窗口中。

這就是我在新窗口中運行它得到的結果。 無論您指定什麼尺寸 - 它最終都是這樣的。
