こんにちは、
1。2つのグラフをpptの1つのスライドに保存する方法を知りたい。
現在、私のスクリプトはスライドごとに1つのグラフをpptに保存しています。
1つのスライドで2つのグラフを比較する必要があります。また、データ用に100個のグラフを生成し、pptに100個のスライドがあると分析が難しくなります。
2。個人グラフのスケーリング方法
//******************Open Data table***********************//
dt = Open( "$Downloads\Measure - Subset of JA63025.10A_raw_para_Stacked.jmp" );
//************************ Create new Columns to segregate the test names to group and plot graphs ***********************//
dt << New Column( "Test Number (MSB of Label)",
Character,
Nominal,
Formula( Num( Substr( :Label, Contains( :Label, ":p" ) - Num( 10 ), Contains( :Label, ":p" ) - Num( 6 ) ) ) )
);
dt << New Column( "Test Description", Character, Nominal, Formula( Substr( :Label, Contains( :Label, ":NVM_" ) + Num( 5 ), 100 ) ) );
dt << New Column( "NVM Parameter Name",
Character,
Nominal,
Formula( Substitute/*###*/(Substr( :Label, Contains( :Label, ":NVM_" ) + Num( 5 ), 100 ), "[1]", "") )
);
dt << New Column( "Measurements.",
Character,
Nominal,
Formula(
If( 16600 <= :Name( "Test Number (MSB of Label)" ) <= 16603,
Substitute( :Test Description, "[1]", "_BiasA_Pre_refcell_Erase" ),
If( 16629 <= :Name( "Test Number (MSB of Label)" ) <= 16632,
Substitute( :Test Description, "[1]", "_BiasA_Post_refcell_Erase" )
)
)
)
);
dt << New Column( "Measurements..",
Character,
Nominal,
Formula( If( 10100 <= :Name( "Test Number (MSB of Label)" ) <= 10103, Substitute( :Test Description, "[1]", "" ) ) )
);
dt << New Column( "Measurements...",
Character,
Nominal,
Formula(
If( 10100 <= :Name( "Test Number (MSB of Label)" ) <= 10103,
Empty(),
If( 16600 <= :Name( "Test Number (MSB of Label)" ) <= 16603,
Empty(),
If( 16629 <= :Name( "Test Number (MSB of Label)" ) <= 16632,
Empty(),
Substitute( :Test Description, "[1]", "" )
)
)
)
)
);
//*******************Plot Variability Charts****************************//
dtsum = Current Data Table();
colnames = dtsum << get column names( character );
Show( colnames );
//nw = New Window( "Plots", myVLB = V List Box() );
New Window( "Graphs",
For( i = 23, i <= N Items( colnames ), i++, // We have change i value based on the column where our modified column to plot graphs starts
gb = Variability Chart(
invisible,
Y( :Data ),
Y Scale( Left, Right ),
X( Column( colnames[i] ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Vertical Charts( 0 ),
Variability Summary Report( 1 ),
Std Dev Chart( 0 ),
Mean of Std Dev( 0 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 ),
By( :NVM Parameter Name ),
);
);
//myVLB << append( Report( gb ) );
);
//**********************************Save Script to Data Table ************************//
dt << New script(
"Plots",
For( i = 23, i <= N Items( colnames ), i++, // We have change i value based on the column where our modified column to plot graphs starts
Variability Chart(
//invisible,
Y( :Data ),
Y Scale( Left, Right ),
X( Column( colnames[i] ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Vertical Charts( 0 ),
Variability Summary Report( 1 ),
Std Dev Chart( 0 ),
Mean of Std Dev( 0 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 ),
By( :NVM Parameter Name ),
);
)
);
//*****************************************EXPORT GRAPHS TO PPT**********************************//
For( i = 23, i <= N Items( colnames ), i++, // We have change i value based on the column where our modified column to plot graphs starts
nn = dt << Variability Chart(
invisible,
Y( :Data ),
Y Scale( Left, Right ),
X( Column( colnames[i] ) ),
By( :NVM Parameter Name ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Vertical Charts( 0 ),
Variability Summary Report( 0 ),
Std Dev Chart( 0 ),
Mean of Std Dev( 0 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 ),
);
If( i == 23,
nn << Save Presentation( "$Downloads/jmp_example2.pptx" ),
nn << Save Presentation( "$Downloads/jmp_example2.pptx", Append )
);
);
Open( "$Downloads/jmp_example2.pptx" );
私が使用する方法は、JMP内に配置するスライドを作成し、最終的な表示ウィンドウに画像としてコピーすることです。これは、必要なpptxページごとに1つの画像オブジェクトです。
以下は、簡単な例を示すスクリプトです。
Names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// Create the 2 graphs
fg = dt << Fit Group(
Oneway(
Y( :height ),
X( :sex ),
SendToReport(
Dispatch( {}, "Oneway Plot", FrameBox, {Frame Size( 463, 305 )} )
)
),
Oneway(
Y( :weight ),
X( :sex ),
SendToReport(
Dispatch( {}, "Oneway Plot", FrameBox, {Frame Size( 463, 305 )} )
)
),
<<{Arrange in Rows( 1 )}
);
// Place the graphs into a single picture
nw=new window("The Picture", report(fg)[outlinebox(1)]<<GET picture=""></GET>通常、これをどのように処理するかは、スクリプトに、作成中のペアの画像オブジェクトを作成させることです。 そして、それらをジャーナルに追加します。 したがって、複数の変動グラフが作成される上記の場合、ループ反復1のVリストボックス()またはHリストボックスを作成し、最初の反復グラフをリストボックス()に追加してから、反復ループ2で追加します出力をリストボックスに追加してから、リストボックスの画像をジャーナルウィンドウにコピーし、リストボックスを削除して、繰り返し3などをやり直します。
また、XPathを使用してすべての変動グラフが存在する後にジャーナルを照会し、アウトラインボックスの数を確認して、そこからペアを構築し、最終的なプレゼンテーション保存出力となる新しいジャーナルウィンドウに配置することもできます
そして、私は他の方法が使用されていると確信しています
表示オブジェクト( "slidebox()"と呼ばれることもあります)は、その中に表示オブジェクトを配置でき、そのコンテナーボックス内のすべてが1つのスライド(または1ページ)として扱われます。
私は実際にその機能はすでにそこにあると思います。 私はほとんどの場合、アウトラインボックスをSlideBox()として使用します。 必要に応じて出力を作成し、アウトラインBox()に配置してから、作成中のジャーナルに追加します。 JMPがpptxファイルを含むアウトラインボックスを処理する方法のために、Outline Box()が選択されます。 Outline Box()のタイトルがスライドのタイトルになり、outline box()に配置した「画像」がスライドのコンテンツになります。
はい、"SlideBox()"にデフォルトを設定することで簡単になりますが、ほとんどの場合、オブジェクトの組み合わせには複数のHリストボックス、Vリストボックス、ラインアップボックスなどが必要です。私が望むようにディスプレイ。
これの鍵は、アウトラインボックス内にあるすべてのアウトラインボックスを1つの画像としてコピーする必要があることです。必要な構造を使用して目的のページを作成する必要があります。最後のステップは、<< get pictureを使用して、目的のページを<<プレゼンテーションの保存先のアウトラインボックスに追加することです。