그래프를 다른 그래프에 오버레이여러분,
첫 번째 첨부 파일에 표시된 것처럼 다른 그래프를 다른 그래프에 오버레이하는 방법 (또는 가장 좋은 방법)은 무엇입니까? 최종 목표는 여러 플롯을 생성하고 테이블 속성으로 저장된 창에 배열하는 것입니다. 그런 다음이 테이블 속성이 실행되어 최종 합성 사진을 복사하여 Powerpoint에 붙여 넣을 수 있습니다.
지금까지 내가 가지고있는 스크립트는 거의 저를 거기에 도착시킵니다 (첨부 된 스크립트와 두 번째 첨부 파일 참조). 내 현재 스크립트는 생성 된 각 그래프에 대한 보고서에 분명히 들어가고 라인업 상자를 채우는 데 "그림 가져 오기"명령이 사용됩니다. 히스토그램을 이미지로만 취급하고 "이미지 추가"를 수행하려고했지만 제대로 작동하지 않았습니다.
이미지 추가 명령을 사용하는 경우 추가 질문은 "경계"인수를 적절하게 배치하는 방법에 대한 것입니다.
Neil
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 : 그래프를 다른 그래프에 오버레이명확성을 위해 그래프 그림을 다른 그래프 그림 위에 오버레이하려고합니다.
그래서 스크립트에 따라 "rpt_ds_pic"그림을 얻고 rpt_cr_pic에 오버레이하려고합니다. 그러나 내 출력에 대한 rpt_cr_pic 만 얻고 있으며 추가 된 그림이 표시되지 않습니다.
스크립팅 인덱스 (이미지 추가) 및 스크립팅 가이드를 살펴 봤지만이 작업을 수행하는 기본 개념을 이해하고 있지는 않습니다.
어떤 힌트 나 지시도 매우 도움이 될 것입니다.
감사합니다.
Neil
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 축은 여전히 존재하며 어떻게 숨길 지 모르겠습니다. 내 코드가 첨부되어 있습니다.
Neil

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>