그래프 제목을 감지하는 그래픽 스크립트연관 배열에 포함된 정보를 기반으로 각 그래프가 고유한 선을 갖도록 사용자 정의 그래픽 스크립트를 설정하고 싶습니다. 아래 예에서 각 범주에 대해 다르게 선에 그래프를 표시하고 싶습니다. 실제 사용을 위해 선 생성에 올바른 값을 사용할 수 있도록 그래프가 제목을 '인식'해야 합니다. .
아래 예제 이미지의 경우 "F" 그래픽 스크립트를 "F"로 수동 업데이트했습니다. 그래서 저는 "그래프 정보 수집"을 위한 구문을 찾고 있습니다... 내 머릿속에서 개요 상자 제목을 잡을 수 있다면 필요한 것을 얻기 위해 그것을 조작할 수 있습니다... 하지만 그것이 맞는지 확실하지 않습니다. 유일한/최상의 선택.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt << Bivariate(
Y( :height ),
X( :weight ),
By( :sex ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 30 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
test = Associative Array( {{"F", {0.1, 50}}, {"M", {.8, 0}}} );
///gather graph info to get "F" or "M" from output
graphInfo = "M";// need to extract so it's "F" for female graph
Y Function( test[graphInfo][1] * x + test[graphInfo][2], x );
), Grid Line Order( 1 ), Reference Line Order( 3 )
}
)
)
);

대량 맞춤화Re: 그래프 제목을 감지하는 그래픽 스크립트@Mark_Bailey 아이디어 주셔서 감사합니다! 요약이 보고서에서 그래프가 생성되는 순서와 일치한다는 것을 아는 것이 좋습니다. 그것은 여러 스크립트에서 사용되는 것을 볼 수 있는 것입니다 
@Craige_Hales 기능에 대한 정말 멋진 아이디어입니다. 그것도 가지고 놀아야 겠어요!
Re: 그래프 제목을 감지하는 그래픽 스크립트전체 그래픽 스크립트를 함수로 만들면 이것 프레임 상자인 매개변수입니다. 개요까지 올라가 제목을 잡을 수 있습니다. 이점은 다음을 포함하는 개요를 얻었다는 것입니다. 이것 그래프.
Outline title copied into graph by graphic scriptOutline title copied into graph by graphic script그래픽 스크립트에 의해 그래프에 복사된 아웃라인 제목
dt = Open( "$sample_data/big class.jmp", invisible );
bv = dt << Bivariate( Y( :weight ), X( :height ), Fit Line );
(bv << report)[framebox( 1 )] << addgraphicsscript(
// if a function is used, it must be the only statement in the graphic script
Function( {this},{titlebox=this},
// the function can use this to find the frame box, climb to an Outline title...
While( (titlebox << classname) != "OutlineBox", titlebox = titlebox << parent );
// then other graphics commands
Text( center justified, {60, 120}, (titlebox << gettitle) );
Circle( {60, 120}, 30 );
this<<BACKGROUNDCOLOR></BACKGROUNDCOLOR>Re: 그래프 제목을 감지하는 그래픽 스크립트또 다른 접근 방식은 이변량을 시작하기 전에 값을 결정하는 것입니다. Summarize() 함수는 수준을 결정하는 데 사용할 수 있습니다. 같은 순서로 By 변수 또는 Where() 절을 사용할 때 나타납니다.
Summarize( level = By( :Group ) );
변수 수준은 올바른 순서로 :Group 데이터 열에 있는 모든 고유 수준의 문자열 목록을 저장합니다. 따라서 그래픽 스크립트는 아웃라인 표시 상자가 어디에 있는지 확인하기 위해 쿼리할 필요가 없습니다.
Re: 그래프 제목을 감지하는 그래픽 스크립트그것도 작동 할 수 있습니다 @jthi ... 작성된 것처럼 장기적으로 필요한 만큼 동적이지는 않지만 이를 사용하여 사용자 정의 반복자 변수를 구축할 수 있으므로 각 그래프는 동일한 변수를 갖지만 위치에 따라 다른 숫자로 설정됩니다. 보고서에서.
그들의 생각에 대해 모두에게 다시 한 번 감사드립니다!
Re: 그래프 제목을 감지하는 그래픽 스크립트코드 중 하나를 확장하여 @txnelson :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
test = Associative Array( {{"F", {0.1, 50}}, {"M", {.8, 0}}} );
biv = dt << Bivariate(
Y( :height ),
X( :weight ),
By( :sex ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 30 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Grid Line Order(1 ), Reference Line Order( 3)}
)
)
);
rep = biv << Get As Report;
For( i = 1, i <= N Items(rep), i++,
keyForAa = Substr(Report(rep [i])[Outline Box( 1 )] << get title,
Contains(Report(rep [i])[Outline Box( 1 )] << get title, "=" ) + 1);
//see Add Graphics Script example from Scripting Index
framebox = Report(rep [i])[frame box(1)];
Eval(EvalExpr(framebox << Add Graphics Script(
2,
Description( "" ),
Y Function(Expr(test[keyForAa][1]) * x + Expr(test[keyForAa][2]), x );
)));
);Re: 그래프 제목을 감지하는 그래픽 스크립트0에서 i를 시작할 수 있고 '마법처럼' 그렇게 반복된다는 것이 매력적입니다... 아래에 붙여넣은 오류가 있지만 적어도 일부는 작동한 것 같습니다. graphInfo 변수를 생성하기 직전에 show(i) 명령을 생성했습니다.
그것은 두 그래프에 대해 훌륭하게 작동한 것 같지만 어떤 이유로 biv[i]를 찾을 수 없는 결과로 두 번 더 반복되었습니다. 그래서 해당 부분을 Try()로 래핑했고 필요한!
1) 왜 "i"가 그렇게 반복되는지 또는 언제 jsl의 다른 기능에 잠재적으로 활용할 수 있는지 잘 모르겠습니다.
2) 왜 두 번 더 반복하는지 모르겠습니다. 그래프당 하나, 그래픽 스크립트당 하나??
삼) 매우 감사합니다 여기에 도움을... 아직 작동 방식/이유를 이해하지 못할 수도 있지만 일관되게 작동할 수 있다면 그게 승리입니다!

Names default to here(1);
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
i=0;
biv = dt << Bivariate(
Y( :height ),
X( :weight ),
By( :sex ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 30 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
i++;
test = Associative Array( {{"F", {0.1, 50}}, {"M", {.8, 0}}} );
///gather graph info to get "F" or "M" from output
show(i);
Try(
graphInfo = word(2,report(biv[i])[OutlineBox(1)] << get title,"=");
show(graphinfo);
);
Y Function( test[graphInfo][1] * x + test[graphInfo][2], x );
), Grid Line Order( 1 ), Reference Line Order( 3 )
}
)
)
);Re: 그래프 제목을 감지하는 그래픽 스크립트이 시도
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
i=0;
biv = dt << Bivariate(
Y( :height ),
X( :weight ),
By( :sex ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 30 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
i++;
test = Associative Array( {{"F", {0.1, 50}}, {"M", {.8, 0}}} );
///gather graph info to get "F" or "M" from output
graphInfo = word(2,report(biv[i])[OutlineBox(1)] << get title,"=");
show(graphinfo);
Y Function( test[graphInfo][1] * x + test[graphInfo][2], x );
), Grid Line Order( 1 ), Reference Line Order( 3 )
}
)
)
);Re: 그래프 제목을 감지하는 그래픽 스크립트그게 다야 .... 그래픽 스크립트 자체에서 그 정보를 알 수 있습니까?
제목을 얻는 것은 외부에서 쉽습니다.
정확히 동일한 그래픽 스크립트를 보고서의 각 그래프에 배치하고 해당 스크립트가 어디에 있는지 파악할 수 있기를 원합니다.
Re: 그래프 제목을 감지하는 그래픽 스크립트제목을 가져오는 데 필요한 개요 상자를 알아야 하지만 그 후에는 간단한 제목 가져오기입니다.
graph title = report( biv[1] )[OutlineBox(1)] << get title;
Re: 그래프 제목을 감지하는 그래픽 스크립트제목을 업데이트하려는 것이 아니라 Graphics Script 내에서 제목 정보를 가져오려고 했습니다. 제목 정보가 있으면 모든 문자열 조작을 할 수 있습니다.
이상적으로는 "graphTitle = graph << get title;"과 같은 그래픽 스크립트에 넣을 무언가가 필요합니다. 거기에서 가십시오. 그러나 개체가 트리의 어느 부분에 포함되어 있는지 "알지"않는 한 가능한지 확실하지 않습니다.
Re: 그래프 제목을 감지하는 그래픽 스크립트다음은 제목을 업데이트할 스크립트 수정 사항입니다.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
biv = dt << Bivariate(
Y( :height ),
X( :weight ),
By( :sex ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 30 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
test = Associative Array( {{"F", {0.1, 50}}, {"M", {.8, 0}}} );
///gather graph info to get "F" or "M" from output
graphInfo = "M";// need to extract so it's "F" for female graph
Y Function( test[graphInfo][1] * x + test[graphInfo][2], x );
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
For( i = 1, i <= N Items( biv ), i++,
Report( biv[i] )[Outline Box( 1 )] << set title(
Substr(
Report( biv[i] )[Outline Box( 1 )] << get title,
Contains( Report( biv[i] )[Outline Box( 1 )] << get title, "=" ) + 1
)
)
);