그래프 빌더 범례가 표시되는지 확인하는 방법그래프 빌더 범례가 표시되는지 여부를 확인하는 스크립트가 무엇인지 궁금합니다.범례의 상태에 따라 범례를 표시하거나 숨기는 도구 모음 바로 가기를 만들고 싶습니다(표시된 경우 숨기고 숨겨진 경우 표시).모든 제안에 감사드립니다!
스티브
스크립팅Re: 그래프 빌더 범례가 표시되는지 확인하는 방법범례가 표시되는지 여부를 확인하는 방법을 확인하려고 했지만 Show Legend() 옵션에 의해 범례가 어떻게 숨겨지는지 알 수 없습니다. 속성 표시도 도움이 되지 않았습니다.

그래서 내 마음에 쉽게 떠오른 유일한 것은 그래프 빌더의 스크립트를 문자열로 가져온 다음 그 안에 Show Legend(0)가 있는지 확인하는 것입니다... 사용자가 기본 설정을 변경하면 작동하지 않으므로 다음을 수행해야 합니다. 그들도 확인하십시오. 다음과 같은 것이 작동할 수 있습니다(이를 수행하는 더 쉽고/더 강력한 방법이 있기를 바랍니다).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(Variables(X(:Sex), Y(:Height), Group X(:Age)), Elements(Box Plot(X, Y)));
change_legend_state = function({gb_ref}, {Default Local},
legend_pref = Char(Get Platform Preference(Graph Builder(Show Legend)));
gb_script = Char(gb_ref << Get Script());
If(Contains(legend_pref, "Show Legend(0)") & !Contains(gb_script, "Show Legend(1)"),
gb_ref << Show Legend(1);
,
gb_ref << Show Legend(0);
);
);
wait(1);
change_legend_state(gb);
wait(1);
change_legend_state(gb);
Re: 그래프 빌더 범례가 표시되는지 확인하는 방법가시성 메시지를 사용하여 범례를 열고 닫는 경우 가시성 가져오기 메시지가 상태를 반환합니다.
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb =Graph Builder(
Size( 525, 448 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
report(gb)[legendbox(1)]<<VISIBILITY></VISIBILITY>
그러나 범례가 다음을 사용하여 설정되면 가시성 상태가 변경되지 않습니다.
gb << Show Legend(0);
// or
gb << Show Legend(1);