グラフを別のグラフにオーバーレイする皆さん、
最初の添付ファイルに示されているように、別のグラフを別のグラフにオーバーレイする方法(または最良の方法)は何ですか? 最終的な目的は、複数のプロットを生成し、それらをテーブルプロパティとして保存されるウィンドウに配置することです。 次に、このテーブルプロパティが実行され、最終的な合成画像をコピーしてPowerpointに貼り付けることができます。
私がこれまでに持っているスクリプトは、ほとんどそこに到達します(添付のスクリプトと2番目の添付ファイルを参照)。 私の現在のスクリプトは明らかに、生成されたグラフごとにレポートに入り、「GetPicture」コマンドを使用してラインナップボックスにデータを入力します。 ヒストグラムを画像としてのみ扱い、「画像の追加」を実行しようとしましたが、機能させることができませんでした。
[画像の追加]コマンドを使用する方法である場合、私の追加の質問は、適切に配置するための「境界」引数を適切に考え出す方法です。
ニール
cr = Current Data Table() << Run Script("Cumulative Resistivity");
rpt_cr = Report(cr);
rpt_cr_pic = rpt_cr[PictureBox(1)] << Get Picture;
ds = Current Data Table() << Run Script("Distribution");
rpt_ds = Report(ds);
rpt_ds_pic = rpt_ds[ListBox(4)] << Get Picture;
//comb = New Image( rpt_ds_pic );
//rpt_cr_pic << Add Image( comb, bounds(left(0), top(500),bottom(0),right(724)));
nw = Eval Expr( New Window("BR",
a = V List Box(
Lineup Box(N Col(2), rpt_cr_pic, rpt_ds_pic ),
)
)
);
Current Data Table() << New Script("RP", nw) ;


グラフィックススクリプティングRe:グラフを別のグラフにオーバーレイするわかりやすくするために、グラフの画像を(get pictureを介して)別のグラフ画像にオーバーレイしようとしています。
したがって、スクリプトに従って、「rpt_ds_pic」画像を取得し、rpt_cr_picにオーバーレイしようとしています。 ただし、出力のrpt_cr_picのみを取得しているため、追加されたpicが表示されません。
スクリプティングインデックス(画像の追加)とスクリプティングガイドを確認しましたが、これを機能させる基本的な概念を理解していないことは明らかです。
ヒントや方向性は非常に役立ちます。
どうもありがとう。
ニール
cr = Current Data Table() << Run Script("Cumulative Resistivity");
rpt_cr = Report(cr);
rpt_cr_pic = rpt_cr[PictureBox(1)] << Get Picture;
ds = Current Data Table() << Run Script("Distribution");
rpt_ds = Report(ds);
rpt_ds_pic = rpt_ds[PictureBox(1)] << Get Picture;
comb = New Image( rpt_ds_pic );
rpt_cr_pic << Add Image( comb, bounds(left(0), top(500),bottom(0),right(724)));
nw = Eval Expr( New Window("BR",
a = V List Box(
Lineup Box(N Col(2), rpt_cr_pic, /*rpt_ds_pic*/ ),
)
)
);
Current Data Table() << New Script("RP", nw) ;
Re:グラフを別のグラフにオーバーレイするこんにちは、
これを行うために私が知っている唯一の方法は次のとおりです。
1)画像を取得し、それらのピクセルの行列を取得します。
2)「下」の画像のピクセルの部分行列を「上の」画像のピクセル行列で上書きします。
以下は、これを説明するスクリプトと、結果を示す画像(実際には、「上部」の画像がさまざまな場所に「貼り付けられた」3つの画像のウィンドウ)です。 必要な場所に画像を取得するために実験する必要があるかもしれませんが、このアプローチで最終的にはうまくいくはずです。
names default to here(1);
//make a table
dt = astable(J(50,2,randomuniform()));
//make a graph
gb = dt << Graph Builder(
Size( 500, 500 ),
Show Control Panel( 0 ),
Variables( X( :col1 ), Y( :col2 ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
);
//save to a picture, get the pixels and get the picture's x and y dimemnsions
pic1 = (report(gb)[framebox(1)] << get picture) << get pixels;
pic1y = nrow(pic1);
pic1x = ncol(pic1);
//now make another graph and do the same
dist = dt << distribution(histograms only, y(:col1));
pic2 = (report(dist)[framebox(1)] << get picture) << get pixels;
pic2y = nrow(pic2);
pic2x = ncol(pic2);
//create a window to place the resulting images
nw = new window("xx",
vlb = vlistbox(
)
);
x = y = 1; //initial "corner" of overwritten pixels... we will increment these and do 3 total pictures
for(i = 1, i<=3, i++,
newPic = pic1;
newPic[ y::(y+pic2y-1), x::(x+pic2x-1), ] = pic2;
vlb << append(picturebox(new image(newPic)));
y += 60;
x+= 150;
);

乾杯、
ブレイディ
Re:グラフを別のグラフにオーバーレイするブレイディ、
今日は早くにうまくいったように見えるものを手に入れましたが、あなたのアプローチにもひびを入れたいと思います。
スクリプトインデックスの「画像の追加」コマンド(および例)に基づいて、以下に示す画像を取得することができました。 私の唯一の問題は、グラフボックスが結果を取得できる唯一の表示要素ボックスであるように思われることでした。 また、X軸とY軸はまだ存在しており、それらを非表示にする方法がわかりません。 私のコードが添付されています。
ニール

Re:グラフを別のグラフにオーバーレイするcr = Current Data Table() << Run Script("Cumulative Resistivity");
rpt_cr = Report(cr);
rpt_cr_pic = rpt_cr[PictureBox(1)] << Get Picture ;
Print(rpt_cr_pic << Get Size);
cp = Current Data Table() << Run Script("Cumulative Permeability");
rpt_cp = Report(cp);
rpt_cp_pic = rpt_cp[PictureBox(1)] << Get Picture;
Print(rpt_cp_pic << Get Size);
ds = Current Data Table() << Run Script("Distribution");
rpt_ds = Report(ds);
rpt_ds_pic = rpt_ds[PictureBox(1)] << Get Picture;
g = Graph Box(
FrameSize( 750, 1000 ),
X Scale( 0, 100 ),
Y Scale( 0, 100 ),
<<ADD image=""></ADD>