요소에 대한 그래프 빌더 JSL 명령안녕하세요,
그래프 빌더 요소 편집(요소 추가/요소 제거/요소에 레이블 추가) 구문을 찾을 수 없습니다. ~ 후에 그래프가 준비되었습니다.
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
);
//gb[Elements(2)] << Label( "값별 레이블 지정" );// ?? // 이에 대한 구문은 무엇입니까?
//gb << 요소 추가(Position( 1, 3 ), Line( X, Y, Legend( 3 ) ));// ?? //Y는 가중치여야 합니다.
감사해요
대량 맞춤화Re: 요소에 대한 Graph Builder JSL 명령Jmp17 이후 
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gb << Update Element(1,2,1, {Label("Label by Value")});
gb << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gb << Remove Element( 1, 3 , 1 ); //remove bar chartRe: 요소에 대한 Graph Builder JSL 명령두 분 모두 정말 감사드립니다.
"GraphBuilderBox"가 키워드입니다...
Re: 요소에 대한 Graph Builder JSL 명령@tom_abramov ,
그것은 나였습니다. 사용자 구문 오류였습니다.그녀는 당신이 간다.
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
report(gb)[GraphBuilderBox(1)] << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gbb = report(gb)[GraphBuilderBox(1)];
gbb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gbb << Remove Element( 1, 3 , 1 ); //remove bar chart
Re: 요소에 대한 Graph Builder JSL 명령@tom_abramov ,
나는 Jim처럼 다른 긴 길을 택했습니다. @txnelson .JMP에는 다음과 같은 메시지가 포함된 간단한 솔루션이 있기 때문에 저는 웃었습니다.
GraphBuilderBox()로 전송된 업데이트 요소()
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
/* //hard way not recommended
//must be done while No Labels is specified
gb<< show Control Panel(1);
so_bar = report(gb)[OutlineBox("Bar[weight]")];
cb_label = so_bar << xpath("//ComboBox/ComboBoxItem[text()='No Labels']/..");
cb_label << set(2);
gb << show Control panel(0);
*/
그러나 쉽게 수행할 수 있는 변수 :weight를 추가하여 문제가 발생하지만 기본적으로 GraphBuilder는 다른 막대 차트 요소를 만듭니다.몇 가지 JMP 예외와 같은 몇 가지 까다로운 문제가 발생했습니다.
JMP가 요소 추가 및 요소 제거뿐만 아니라 요소에 대해 Change To() 메시지를 허용하는 위시리스트 항목을 추가하겠습니다.
알아내면 게시물에 추가하겠습니다.
Re: 요소에 대한 Graph Builder JSL 명령@tom_abramov
문득 어떤 생각이 떠올랐고, 이 문제를 해결할 수 있는 방법이 하나 있습니다. 이것은 제가 여러 가지 이유로 여러 번 사용해 본 솔루션입니다.제가 제안하는 것은 코드를 작성하여 참조하는 요소를 추가해야 할 때 전체 그래프를 삭제하고 그 자리에 다시 생성하는 것입니다.JMP가 새로 고침을 처리하는 방식에 따르면 그래프가 삭제될 때 변경 사항이 표시되지 않을 수 있습니다.아마도 그래프가 변경된 것을 볼 수 있을 것입니다.
아래 코드는 내 아이디어를 보여줍니다.
names default to here(1);
Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("Test", vlb=vlistbox());
vlb<< append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
));
wait(5);
gb << delete;
vlb << append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements(
Position( 1, 2 ),
Bar( X, Y, Legend( 2 ), Label( "Label by Value" ) )
)
));Re: 요소에 대한 Graph Builder JSL 명령나한테는 안 좋은데...
고마워요 짐.
Re: 요소에 대한 Graph Builder JSL 명령나는 그것이 이루어질 수 없다고 생각한다.당신이 할 수 있어야 하는 것은 출력의 FrameBox(), Bar Seg 또는 Line Seg와 같은 세그먼트를 전달하는 것입니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = Graph Builder( Variables( X( :age ), Y( :weight ) ), Elements( Bar( X, Y ) ) );
frame = Report( obj )[FrameBox( 1 )];
seg = (frame << Find Seg( "Bar Seg" ));
seg << Get Width Proportion();
seg << Set Fill Color( "Green" );
그래프를 마우스 오른쪽 버튼으로 클릭하면 사용자 정의 선택에서 세그먼트를 대화형으로 변경할 수 있으며 레이블 세그먼트가 없습니다.
