こんにちは、私はjslの初心者です。 PPTに保存するときの画像サイズの設定について1つ質問があります。
以下のスクリプトは、2変量グラフを保存しようとしたときに機能します。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ), Group By(:sex), Fit Line({report(0)}) );
rbiv = biv << report;
rbiv[Framebox(1)] << row legend(:sex, color(1), marker(1));
rbiv << Save Presentation( "$TEMP/jmp_example.pptx");
rbiv[Framebox(1)] << frame size(1500,480);
rbiv << Save Presentation( "$TEMP/jmp_example.pptx", append );
Open( "$TEMP/jmp_example.pptx" );
ただし、グラフビルダーからグラフを保存しようとすると、以下のスクリプトが機能しないようです。
したがって、私の質問は、特にグラフビルダーからのグラフで、JSLによってPPTにエクスポートするときにグラフサイズを設定する方法です。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv =Graph Builder(
Size( 755, 297 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Bar( X, Y, Legend( 4 ) ) )
);
rbiv = biv << report;
rbiv[Framebox(1)] << row legend(:sex, color(1), marker(1));
rbiv << Save Presentation( "$TEMP/jmp_example.pptx");
rbiv[Framebox(1)] << frame size(1400, 600);
rbiv << Save Presentation( "$TEMP/jmp_example.pptx", append );
Open( "$TEMP/jmp_example.pptx" );
やあ@LIANGYAHAN 、再現しやすい例をありがとうございます。
まだ作成されていないオブジェクトにメッセージが送信されるとき、JMPの重複しにくい部分の1つにぶつかったようです。 wait(0)ステートメントは、一度に1行ずつ実行すると(これと同じように)インタラクティブに期待どおりに機能するが、すべて一緒に実行すると機能しない場合を修正することがよくあります。この場合、Wait(0);を追加します。フレームサイズメッセージが問題を解決する前に。
待機機能を使用すると、JMPはすべての要素を描画し、一度に1行ずつインタラクティブに実行した場合の場所に「追いつく」ことができます。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv =Graph Builder(
Size( 755, 297 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Bar( X, Y, Legend( 4 ) ) )
);
rbiv = biv << report;
rbiv[Framebox(1)] << row legend(:sex, color(1), marker(1));
rbiv << Save Presentation( "$TEMP/jmp_example2.pptx");
wait(0);
rbiv[Framebox(1)] << frame size(1400, 600);
rbiv << Save Presentation( "$TEMP/jmp_example2.pptx", append );
Open( "$TEMP/jmp_example2.pptx" );