グラフビルダーから各グラフをリスト配列のタイトルを持つ画像ファイルに保存する方法こんにちは皆さん、
結果を pptx に保存する方法を見つけようとしています。テンプレートを使用して、まず各結果をファイルに保存してからテンプレート レポートにコンパイルする必要があることに気付きました。
次の投稿によると:
https://community.jmp.com/t5/Discussions/the-graph-size-exported-to-pptx-Save-Presentation/mp/72135#M35554
ただし、ループの下に作成されたリストに従ってファイルに名前を付ける方法を見つけることができませんでした。 次のビッグクラスの例を使用しています。
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
gb<< save picture(Eval Insert("C:\....\BigClass^i^.png"));););これを行う方法を知っている人はいますか?
代わりに以下を使用してみましたが、機能しません。
gb << Save Picture( "C:\BigClass_" || Ages[i] ||".jpg", JPEG );
これには別の文字列/リストを作成する必要がありますか? ご指導をよろしくお願いいたします。
ありがとう
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法あなたの質問に直接答えることはできませんが、アプローチについていくつか考えを述べておきます。 スクリプトを確認する前に、ポイントアンドクリックでこれらを調べてみるとよいでしょう。
1. グラフ ビルダーで Page ロールを使用すると、Page の変数のレベルごとに軸を持つ個別のプロットが作成されるため、これを使用することもできます。
dt = Open( "$SAMPLE_DATA\Big Class.JMP" );
Graph Builder(
Size( 518, 2948 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Page( :age ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
);
2. PowerPoint 機能として保存を使用する方法を検討する価値があるかもしれません。 任意のレポートから: [ファイル] > [名前を付けて保存] > [種類: Powerpoint プレゼンテーション] で保存します。 Save Presentation() は JSL 関数です。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
rbiv << Save Presentation( "$TEMP/jmp_example.pptx" );
Open( "$TEMP/jmp_example.pptx" );
それが役立つことを願っています。
よろしく、
フィル
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法@gzmorgan0
返信ありがとうございます。
pptxでレポートを作成する必要がある時点までJSLを使用しようとしています。 リスト名に従ってグラフを保存する理由は、このリストの要素ごとにレポートを作成する必要があるためです。
以下にJSLスクリプトを置きました。 このままのスクリプトは機能しますが、グラフを対応するリスト名とともに保存せず、各グラフをsample_1として保存するだけです。サンプル_2...など たとえば、sample_1 の名前は「EH3」ですが、名前は毎月変わるため、理想的にはリストから名前を取得するために必要になります。
まだ、各 Sample[i] の概要表を追加し、それをグラフと一緒に pptx に追加する必要があります。 これは可能でしょうか?
win = New window("Graphs", lub = Lineup Box (Ncol(3)));
//selecting the list of samples or variables for which a graph is required
Samples = (Associative Array(Column (dt4, "Sample"))<<GET keys=""></GET>
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法あなたの最後の投稿には
gb<< save picture(Eval Insert("C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););構文を見てください。 i=1 (Ages[i] = 12) の場合、文字列 "C:\temp\1.png12.jpg" が生成されます。
gb<< save picture("C:\temp\Age_" ||Char(Ages[i])||".jpg",JPEG););Fまたは、i=1 (Ages[i] = 12) の場合、文字列「C:\temp\Age_12.jpg」が生成されます。
元の例では、列 :age の一意の値をリストとして使用しました。保存が機能せず、構文が悪いことが原因ではない場合は、リスト内の値に有効な Windows 名ではない記号が含まれている可能性があります。 先ほどまで参照リンクを開いていませんでした。 p3icli を使用して pptx を作成している場合は、複雑な名前やコメントのタイトルとキャプションに p3icli コマンドを使用できます。 私はこの方法を使用して、管理限界を監査するためのレポートを作成しました。
- p3icli コマンドのリストを作成し、cmdlist を呼び出し、各コマンドに対して p3icli コマンドを cmdlist に挿入します。
- のために新しいスライドを挿入するまたはテンプレートの重複
- 複合体のコマンドタイトル表示されるチャートに関するコンテキストパラメータ情報、データ日付などを提供します。
- fid1 や fid2 などの単純な名前を使用して画像を挿入するコマンド
- 制限が緩すぎるか厳しすぎるかなどの分析に基づいたキャプションのコマンド。
このアウトラインは、保存されたファイル名を使用する代わりに、p3icli のタイトルとキャプションのオプションを使用する例として書きました。
p3icli の代替手段を使用する必要がある場合、これは適切なフォーラムではありません。プライベート メッセージを送信してください。
リストを確認した後、リスト内に @ # % ( ) - ^ などの珍しい記号が見つからない場合は、実際の JSL コードのスニペットとエラー メッセージを提供する必要があります。
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法確かに機能しますが、私が望むものではありません。 画像を保存したときのような画像にしたいのですが<<Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法私は次のようなことを考えていましたが、軸をキャプチャしていないため、おそらくそれはあなたが望むものではないことに今気づきました。
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
gb = dt2 << Graph Builder(
Size(800, 600),
Variables( X( :weight ), Y( :height ), Wrap( :age ) ),
Elements( Points( X, Y ), Smoother( X, Y ) )
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
dt = gb << make into data table();
for each row(dt,
img = :graph;
img << save image(Eval Insert("$DOCUMENTS/BigClass^char(:age)^.png"));
);
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法@XanGregg
では、各テーブルをどのように参照するのでしょうか? それでは、各テーブルをリストという名前の画像に保存するにはどうすればよいでしょうか?
このビッグクラスの例でこれをどのように行うかを示していただけますか?
ありがとう
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法@gzmorgan0
ヒントをありがとう。 この例では、Big Class に対して機能します。 ただし、私の暗号では機能しません。
両方のコマンドを試しましたが、私のスクリプトでは最初のコマンドのみが機能しましたが、^i^ を数値として置き換えるだけで、リストとして持っている名前/文字は置き換えません。 2 番目のコマンドは Big Class の例では正常に機能するため、Char() は Names には適用できない可能性があります。
gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));
//and also
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
コマンドの最初の行で Char() 関数を使用しようとしましたが、「||」として機能しません。 Eval Insert() では機能しないようです。
C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););gb<< save picture(Eval Insert("
これを回避する方法を知っていますか?
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法Ages[i] の周りに Char() 関数が必要です。 連想配列 Ages の値は数値です。以下のスクリプトは c:\temp\ ディレクトリに書き込んでいることに注意してください。 また、コメントされたステートメントも同様に機能します。save ステートメントの前に Append() ステートメントを閉じる必要があります。
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
//gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));<BR />
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
Re: グラフビルダーから各グラフをリスト配列のタイトルを付けて画像ファイルに保存する方法「gb << Make Into Data Table()」は役に立ちますか? 画像の列を含む新しいデータ テーブルを作成します。