スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?こんにちは、同じアプリケーション (グラフ ビルダーなど) を使用するいくつかのスクリプトをデータ テーブルに保存することがよくあります。 これらのスクリプトを実行すると、グラフのウィンドウ タイトルは自動的に「Datatable - グラフ ビルダー」になります。
複数のスクリプトを実行すると、「Graph Builder 2」、「Graph Builder 3」というタイトルのウィンドウが開いて、どのスクリプトがどのウィンドウを生成したか分からなくなります。
以下の例のようにスクリプトの周りにコードを使用していますが、いくつかの変更を加えると、この命名規則を上書きせずに「スクリプトをデータテーブルに保存」オプションを単純に実行することはできません。
w = Graph Builder(
// graph script
);
w << set window title( "script name" )
例: スクリプトは、一般的な「グラフ ビルダー」というタイトルのウィンドウを開きます。

グラフィックスクリプティングRe: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?「指定した名前でスクリプトをデータ テーブルに保存するにはどうすればよいですか?」という質問があれば、 それなら、私はあなたに答えがあると思います。
dt=current data table();
obj=dt<<GRAPH builder=""> , < <<PROMPT>, < <<REPLACE> );
obj << Save Script to Data Table("New GB");</REPLACE></PROMPT></GRAPH>
...しかし、それがあなたが求めていたものかどうかはわかりませんか?
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?こんにちはバイロン、それは私が求めていたものではありませんでした. スクリプト名を持つために開いているウィンドウ名を探しています。 私が言ったように、スクリプトの周りに以下のコードを追加することで、一度実行できます。 しかし、私の問題は、新しいグラフ スクリプトをコピーしてデータテーブル スクリプトに貼り付けないと、グラフを変更できない (たとえば、軸やビジュアルを変更する) ことができないことです。
w = Graph Builder(
// graph script
);
w << set window title( "script name" )

グラフビルダースクリプトを実行してウィンドウ名を変更する2番目のスクリプトを作成する方法を試しました。 これは基本的に、グラフに変更を加えて「データテーブルに保存」し、元のグラフを上書きできるため、基本的に必要なものです。 もうコピー/貼り付けは必要ありません。 添付ファイルの「big class 2.jmp」を参照してください。「run myGraph1」スクリプトを実行するだけです。 もちろん、グラフ スクリプトを開始するために 2 番目のスクリプトが必要ないのであれば、それは素晴らしいことです。
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?これはあなたが探しているものですか?
w << get window title()
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?ウィンドウのタイトルを変更する代わりに、そのウィンドウのアウトライン ボックスの名前を変更した場合はどうなるでしょうか。名前をダブルクリックすることでそれを行うことができ、それは保存されたスクリプトに保持されます。

サイドバー: これは、コピー/貼り付けなしでグラフを変更することから遠ざかる可能性がありますが、データセットについて頻繁に見るグラフがたくさんある場合は、それらすべてを含むダッシュボードまたはウィンドウを構築することを検討してください。各コンテキストを提供するための見出しとテキスト。
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?私が苦労している行動は、実際にダッシュボードを使用することで回避できると思います。 JMP での作業方法を適応させようと思います。
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?このスレッドのフィードバックに基づいて、JMP でこれを行う簡単な方法はないと結論付けました。
Re: スクリプト名をタイトルとして使用して、スクリプトで生成されたグラフを開く簡単な方法はありますか?あなたが求めていることを理解していただければ幸いです。 このスクリプトは、機能する 1 つの方法を示しています。 最初の部分は、スクリプトの残りの部分が機能するための一部 (データ テーブルとグラフ ビルダー) を開く方法です。 これは、独自の開いているグラフ ビルダー オブジェクトで使用できる部分です。 このスクリプトをアドインとして保存できるので、使用したいときにメニュー コマンドを選択するだけです。
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
)
);Re: スクリプト名をタイトルとしてスクリプトで生成されたグラフを開く簡単な方法はありますか?一方向プロットに対して同様のものを実行したい場合、これをどのように変更すればよいでしょうか? 「Graph Builder」を「Oneway」に置き換えても機能しないようです。
Re: スクリプト名をタイトルとしてスクリプトで生成されたグラフを開く簡単な方法はありますか?同僚の助けを借りて (アンドリューに感謝!)、私たちはこれを思いつきました。
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();
);
);
引用符内の項目を置き換えることにより、あらゆる種類のグラフのスクリプトを取得するように適応できます。 ?を使用する能力マトリックスのワイルドカードとしては貴重です。