グラフビルダーJSLでPAGEを使用するときにグラフを保存する方法は?グラフ ビルダーで "PAGE" 関数を使用し、同じページに複数のグラフがある場合、グラフ ビルダーのグラフをループで 1 つずつ取得して png として保存するにはどうすればよいですか?
これは@Craigeのコード例です
dt = Open( "$sample_data/big class.jmp" );
ages = Data Table( "big class" ) << Summary( Group( :age ), Freq( "None" ), Weight( "None" ) );
sexes = Data Table( "big class" ) << Summary( Group( :sex ), Freq( "None" ), Weight( "None" ) );
Delete Directory( "$temp/myPics" );
Create Directory( "$temp/myPics" );
For( iage = 1, iage <= N Rows( ages ), iage++,
thisAge = ages:age[iage];
For( isex = 1, isex <= N Rows( sexes ), isex++,
thisSex = sexes:sex[isex];
Eval(
Eval Expr(
gb = dt << Graph Builder(
Size( 508, 438 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
where( age == Expr( thisAge ) & sex == Expr( thisSex ) )
)
)
);
parentBox = (Report( gb ) << parent)< picture = parentBox << getpicture;
picture << saveImage( "$temp/myPics/age" || Char( thisAge ) || "sex" || Char( thisSex ) || ".png", "png" );
// optional: Open( "$temp/myPics/age" || Char( thisAge ) || "sex" || Char( thisSex ) || ".png" );
gb << closewindow;
);
);
Close( ages, "nosave" );
Close( sexes, "nosave" );
Show( Files In Directory( "$temp/myPics" ) );
ありがとう。
Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?pptx ファイルは、偽装された zip ファイルです。 拡張子を .pptx から .zip に変更した場合 (既知のファイル拡張子を表示するには、Windows のフォルダー設定を変更する必要がある場合があります)。 zip ファイルの中には、すべての画像を含む media というフォルダーがあります。
Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?ループを使用してパワーポイントで動作させました。 ありがとうウェンディRe: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?ありがとうメラニー。 私はそれを試してみます。Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?パワーポイントは機能しますが、パワーポイントから写真を取得する方法がわかりません。
私は実験して、HTMLとして保存することに成功しました。 レポートを html として保存すると、すべての画像が gfx という名前のフォルダーに保存されます。 ファイルを何度も保存し続けると、gfx フォルダーは html ページのように書き換えられず、すべての画像が同じフォルダーに追加されるだけです。
メッセージで作業していたこのサンプル スクリプトのいくつかのバージョンがあり、各グラフを個別に保存する場合もあれば、保存しない場合もありました。 現在の繰り返しでは、うまくいくようです。 そうでない場合は、コメントアウトされている代わりにパワーポイントに保存するコードがあります。 より複雑なスクリプトでこれが機能するかどうかを確認してください。 最終的な html ページには、すべてではなく、最後のグラフビルダー レポートのみが含まれることに注意してください。 gfx フォルダーでは、グラフごとに 1 つの画像と、凡例ボックスごとに 1 つの画像を取得します。それらを選別する必要があります。
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
unique lotid = Associative Array(dt:lot_id);
unique Wafer = Associative Array(dt:wafer);
currentid = unique lotid << First;
currentwafer = unique Wafer << First;
For( iwfr = 1, iwfr <= N Items( unique Wafer ), iwfr++,
nextwafer = unique Wafer << Next( currentwafer );
Eval(
Eval Expr(
gb4 = dt << Graph Builder(
Variables(
X( :NPN1 ),
Y( :PNP1 ),
Page( :SITE ),
Group X( :PNP2 ),
Group Y( :NPN2 ),
Color( :lot_id )
),
Elements( Treemap( X, Y, Legend( 24 ), Summary Statistic( "% of Total" ) ) ),
where( Wafer == Expr( currentwafer ) ),
Display( :SITE, Size( 181, 153 ), List Display ),
)
)
);
// powerpoint save
//If( File Exists("$desktop/wow.pptx"), gb4 << Save Presentation( "$desktop/wow.pptx", "Append", "PNG" ),
// gb4 << Save Presentation( "$desktop/wow.pptx", "PNG" )
//);
// html save
gb4 << Save HTML( "$desktop/wow.html", "PNG" );
gb4 << Close Window;
currentid = unique lotid << First;
);Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?はい、Scripting Index に例があります。
- [ヘルプ] メニューをクリックし、[スクリプト インデックス] を選択します。
- 入力プレゼンテーションを保存検索ボックスで。
Scripting Index には、構文、簡単な説明、スクリプトの例が記載されています。プレゼンテーションを保存. 便宜上、ウィンドウの画像を添付しました。
スクリプト作成プロジェクトで頑張ってください!
ウェンディ
Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?私はそれで働くことができると思います、
パワーポイントを取得するのはスクリプトの行だけですか?
ありがとうウェンディRe: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?Page() を使用すると、個々の PNG ファイルに保存できる個別の DisplayBox に完全なグラフが保存されるわけではありません。 PowerPoint ファイルにエクスポートすると、ページが分割されます。 それ以外の場合は、ローカル データ フィルター、Where()、または By() を使用する必要があります。
ウェンディ
Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?こんにちはウェンディ、
Byをご利用いただきありがとうございます。 PAGE関数が必要な理由は、スケールをロックするオプションがあり、選択したものだけでなくすべてを表示できるからです。
PAGE関数を使用して、別のグラフにアクセスしてプロットする方法はありますか? それは本当に役に立ちます。
どうもありがとう。
Re: グラフ ビルダー JSL で PAGE を使用する場合にグラフを保存するにはどうすればよいですか?こんにちは、
個人的には、この場合、Page() の代わりに By() を使用します。By を使用すると、Graph Builder オブジェクトのリストが返されるからです。 次に、オブジェクトのリストをループ処理して、各 PNG ファイルを保存します。 例えば、
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
gb = dt << Graph Builder(
Size( 528, 454 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
By( :age, :sex )
);
For( i = 1, i <= N Items( gb ), i++,
fName = Report( gb[i] )[Outline Box( 1 )] << Get Title;
Report( gb[i] )[Outline Box( 1 )] << Save Picture( "$TEMP/myPics/" || fName || ".png", "PNG" );
);
お役に立てれば!
ウェンディ