このブログ記事では、JMP で図を作成し、PowerPoint で使用できるようにする方法を詳しく説明します。PowerPoint ファイルを開くたびに、JMP で作成した図の最新バージョンが現在のスライド デッキに取り込まれるようにします。これは最新の便利な機能のように聞こえるかもしれませんが、画像を挿入してリンクするオプションは、1990 年にWindows アプリケーションでオブジェクト リンクと埋め込み (OLE) がリリースされたときに初めて導入されました。そこで、まだ OLE についてよく知らない方のために、JMP を使用して OLE を活用する方法について説明しましょう。
基本的な考え方は非常にシンプルです(そしてスクリプト化も可能です)。まず、JMPで図を作成し、「Figure1.png」のような分かりやすいファイル名で保存します。次に、PowerPointで「挿入」タブを使用してファイルから画像を挿入します。PowerPointが起動するファイル選択ダイアログの下部に、オプションを表示するボタンがあります。「挿入」と「リンク」の両方のオプションをオンにして、ファイルをドキュメントに保存します。
この概念を検証するには、いくつかの行の色を変更し、JMP図を同じファイル名で保存してから、PowerPointファイルを再度開いてください。挿入されたファイルも変更されていることが確認できるはずです。
今後の作業を簡単にするためのちょっとしたコツです。新しいフォルダを作成し、そこに図作成スクリプトとPowerPointファイルを保存してください。こうすることで、ファイルパスを気にする必要がなくなり、ファイルはすべてローカルにあるものとして扱われます。
PowerPointでは、一度に多数のファイルを挿入してリンクできます。最初のファイルは問題なく挿入されますが、残りのファイルはすべて、不都合で不便な、そして予想外の方法で拡大縮小されてしまいます。これはJMPの問題ではなく、Microsoft側の問題です。
同じスライドに複数の画像を挿入し、拡大縮小や書式設定を行った場合、その書式設定はPowerPointに保持されるため、一度書式設定すれば完了です。
この機能を動作させるための基本的なスクリプトは、「画像の取得」と「画像の保存」に基づいています。この単純なアプリケーション以外での動作の詳細については、スクリプトのインデックスを参照してください。JMP レポートには、図と表が含まれます。難しいのは、レポートの特定の部分にアクセスする方法を知ることです。すべてのレポートには、要素を表示または非表示にするための小さな灰色の三角形があります。灰色の三角形を右クリックすると、プロパティの表示を含むメニューが表示されます。このオプションをクリックすると、右側にパネルが開きます。このサイドバーの上部には、ボックス パスと呼ばれる閉じたアウトライン バーがあります。これを開き、二重ページ アイコンをクリックしてパスをクリップボードにコピーします。このパスは、レポートで強調表示されたものを参照しており、「画像の取得」を行う必要があるレポート オブジェクトです。次のスクリプトで、これを実装する方法を確認できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Design Experiment/Reactor 20 Custom.jmp" );
//dt=Open( "$SAMPLE_DATA/Design Experiment/Reactor 32 Runs.jmp" )
obj = dt << Fit Model(
Y( :Percent Reacted ),
Effects(
:Feed Rate, :Catalyst, :Stir Rate, :Temperature, :Concentration, :Feed Rate * :Catalyst, :Feed Rate * :Stir Rate,
:Feed Rate * :Temperature, :Feed Rate * :Concentration, :Catalyst * :Stir Rate, :Catalyst * :Temperature,
:Catalyst * :Concentration, :Stir Rate * :Temperature, :Stir Rate * :Concentration, :Temperature * :Concentration
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
:Percent Reacted << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ), Effect Details( 0 ),
Lack of Fit( 0 ), Sorted Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 ), Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
Term Value(
:Feed Rate( 12.5, Lock( 0 ), Show( 1 ) ), :Catalyst( 1.5, Lock( 0 ), Show( 1 ) ),
:Stir Rate( 110, Lock( 0 ), Show( 1 ) ), :Temperature( 160, Lock( 0 ), Show( 1 ) ),
:Concentration( 4.5, Lock( 0 ), Show( 1 ) )
)
)}
)
);
objr = obj << report;
fig 1 = Report( obj )["Response Percent Reacted", "Actual by Predicted Plot", List Box( 1 )] << get picture;
fig 2 = Report( obj )["Response Percent Reacted", "Studentized Residuals", List Box( 1 )] << get picture;
fig 3 = Report( obj )["Response Percent Reacted", "Summary of Fit"] << get picture;
fig 4 = Report( obj )["Response Percent Reacted", "Analysis of Variance"] << get picture;
fig 5 = Report( obj )["Response Percent Reacted", "Prediction Profiler"] << get picture;
win = New Window( "report figures", H List Box( fig1, V List Box( fig3, fig4 ) ), fig2, fig5 );
fig 1 << Save Picture( "fig1.png", "png" );
fig 2 << Save Picture( "fig2.png", "png" );
fig 3 << Save Picture( "fig3.png", "png" );
fig 4 << Save Picture( "fig4.png", "png" );
fig 5 << Save Picture( "fig5.png", "png" );
このスクリプトは、処理を簡略化するためにサンプルデータを使用しています。
コンセプトを試してみる:
全てのファイルを一つのフォルダにまとめておくというのは冗談ではありません。新しいフォルダを作成し、ブログに添付されているスクリプトとpptxファイルをそのフォルダに入れてください。
スクリプトを実行すると、図が表示されたウィンドウが開き、5つのPNGファイルが保存されます。保存先はスクリプトが保存されているフォルダです。(スクリプトをフォルダに保存していない場合、ファイルは別の場所に保存されるか、保存されないか、エラーが発生する可能性があります。)
PowerPointのスライドを開くと、図が表示されるはずです。pptxファイルは閉じますが、保存しないでください。
レポートを開いて、いくつかの行を好きな色で塗りつぶしてください。その後、スクリプトのこの部分を実行してください。
fig 1 = Report( obj )["Response Percent Reacted", "Actual by Predicted Plot", List Box( 1 )] << get picture;
fig 2 = Report( obj )["Response Percent Reacted", "Studentized Residuals", List Box( 1 )] << get picture;
fig 3 = Report( obj )["Response Percent Reacted", "Summary of Fit"] << get picture;
fig 4 = Report( obj )["Response Percent Reacted", "Analysis of Variance"] << get picture;
fig 5 = Report( obj )["Response Percent Reacted", "Prediction Profiler"] << get picture;
win = New Window( "report figures", H List Box( fig1, V List Box( fig3, fig4 ) ), fig2, fig5 );
fig 1 << Save Picture( "fig1.png", "png" );
fig 2 << Save Picture( "fig2.png", "png" );
fig 3 << Save Picture( "fig3.png", "png" );
fig 4 << Save Picture( "fig4.png", "png" );
fig 5 << Save Picture( "fig5.png", "png" );
次に、pptxファイルを再度開いてください。更新されているはずです。もし更新されなかった場合(あなたのコンピューターでテストできないため)、ローカルに保存されているpptxファイルを使用して、挿入とリンクの手順を実行する必要があるかもしれません。
確かに、初回設定は少し面倒ですが、一度設定してしまえば、更新されたスライド資料を再公開する手間が文字通り何時間も省けます。皆さんもきっと役に立つと思います。