有沒有簡單的方法可以打開以腳本名稱作為標題的腳本生成的圖形?您好,我經常發現自己將一些使用相同應用程式(例如圖形生成器)的腳本保存到資料表中。 當您執行這些腳本時,圖形的視窗標題將自動變為「資料表 - 圖形產生器」。
當執行多個腳本時,這會造成開啟標題為「Graph Builder 2」、「Graph Builder 3」的視窗的情況,而且我不知道哪個腳本產生了哪個視窗。
我一直在我的腳本周圍使用程式碼,如下例所示,但是當我進行一些更改時,我無法簡單地執行“將腳本保存到資料表”選項而不覆蓋此命名約定。
w = Graph Builder(
// graph script
);
w << set window title( "script name" )
範例:腳本開啟一個帶有通用「圖形產生器」標題的視窗。

大規模客製化回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?我希望我明白你在問什麼。 該腳本說明了一種可能有效的方法。 第一部分只是讓腳本的其餘部分工作的一些開放(資料表和圖形產生器)的方法。 這是您可以與自己的開放圖形產生器物件一起使用的部分。 您可以將此腳本儲存為加載項,這樣當您想要使用它時,只需選擇一個選單命令即可。
Names Default to Here( 1 );
// example of Graph Builder
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
// now the script to save table script with desired name
// ask user for name of script
dialog = New Window( "Name of Script", << Modal,
Panel Box( "Script Name",
Line Up Box( N Col( 2 ),
Text Box( "Name:" ),
teb = Text Edit Box( "Graph Builder Script" )
),
H List Box(
Button Box( "OK",
name = teb << Get Text;
),
Button Box( "Cancel" )
)
)
);
If( dialog["Button"] == -1, Throw( "User cancelled" ) );
// save script for current instance of Graph Builder
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Graph Builder" ),
Break();
);
);
obj = window[i]["Graph Builder"] << Get Scriptable Object;
obj << Save Script to Data Table( name, << Prompt( 0 ), << Replace( 1 ) );
// update table script
script = dt << Get Property( name );
Eval(
Substitute(
Expr(
dt << Set Property( nnn,
w = sss;
w << Set Window Title( nnn )
)
),
Expr( sss ), Name Expr( script ),
Expr( nnn ), name
)
);回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?根據此線程中的反饋,我得出的結論是,在 JMP 中沒有簡單的方法可以做到這一點。
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?我想我正在努力解決的問題確實可以透過使用儀表板來避免。 我將嘗試調整我在 JMP 中的工作方式。
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?如果您不更改視窗標題,而只是更改該視窗中大綱框的名稱,該怎麼辦?您可以透過雙擊名稱來完成此操作,該名稱將保留在已儲存的腳本中。

側邊欄:這可能會遠離在不複製/貼上的情況下更改圖表的情況,但是如果您經常查看一堆圖表以查找資料集,您可能會考慮建立一個包含所有圖表的儀表板或窗口,其中包含一些圖表給出每個上下文的標題和文字。
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?這是你想要的?
w << get window title()
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?嗨拜倫,這不是我要問的。 我正在尋找打開的視窗名稱以包含腳本名稱。 就像我說的,我可以透過在腳本周圍添加以下程式碼來完成一次。 但我的問題是,我無法更改我的圖表(例如更改軸和視覺效果),而不必將新的圖表腳本複製/貼上到我的資料表腳本中。
w = Graph Builder(
// graph script
);
w << set window title( "script name" )

我剛剛嘗試了創建第二個腳本的方法,該腳本運行圖形生成器腳本並更改視窗名稱。 這基本上就是我想要的,因為我可以對圖表進行更改並再次“保存到資料表”,覆蓋我的原始圖表。 我不再需要任何複製/貼上。 請參閱附件中的“big class 2.jmp”,我將只執行“run myGraph1”腳本。 如果我不需要第二個腳本來啟動我的圖形腳本,那當然會很好。
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?如果您的問題是“如何將腳本儲存到指定名稱的資料表中?” 那我想我可以給你一個答案。
dt=current data table();
obj=dt<<GRAPH builder=""> , < <<PROMPT>, < <<REPLACE> );
obj << Save Script to Data Table("New GB");</REPLACE></PROMPT></GRAPH>
……但我不確定這是否是您要問的?
回覆:是否有簡單的方法可以開啟以腳本名稱作為標題的腳本產生的圖形?如果我想對單向圖運行類似的東西,我該如何修改它?用“Oneway”替換“Graph Builder”似乎不起作用。
回覆:是否有一種簡單的方法可以打開以腳本名稱作為標題的腳本生成的圖形?在同事的幫助下(謝謝安德魯!),我們想出了這個。
clear Globals();
Delete Symbols();
// save script for current instance of Fit Group
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Fit Y by X" ),
obj = window[i]["Fit Group?"] << Get Scriptable Object;
Show(obj);
obj << Save Script for All Objects;
Break();
);
);
可以透過替換引號中的項目來適應抓取任何類型圖表的腳本。能夠使用 ?作為矩陣中的通配符是無價的。