- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
레전드 아이템을 얻는 데 문제가 있습니다
JMP18(18.1.1)에서는 스크립팅 인덱스의 이 예제가 작동하지 않습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ), Color( :age ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
server = gb << Get Legend Server;
items = server << Get Legend Items;
For Each( {item, index}, items[1],
item << Set Label( "Item " || Char( index ) )
);
다음과 같은 오류 메시지가 생성됩니다.
그래서, Legend Server << get legend items()
스크립트 가능한 객체를 반환하지 않습니까?
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
Re: 범례 항목 가져오기: 스크립트 가능한 개체 없음
해결 방법:
get legend 아이템을 사용하세요
전설 아이템을 얻기 위해 미리 평가하는 것을 잊지 마세요
- 라벨 설정 에는 사전 평가가 필요하지 않습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ), Color( :age ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
server = gb << Get Legend Server;
Nitems = Nitems(( server << Get Legend Items)[1]);
for(i=1, i<= Nitems, i++,
Eval(Eval Expr(item = server << Get Legend Item(1, Expr(i))));
item << Set Label( "Item " || Char( i ) )
);
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
Re: 범례 항목 가져오기: 스크립트 가능한 개체 없음
다음 함정: 막대 그래프에는 작동하지 않나요?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb =Graph Builder(
Variables( X( :age ), Y( :weight ), Overlay( :sex ) ),
Elements( Bar( X, Y ) )
);
server = gb << Get Legend Server;
items = server << Get Legend Items;
show(items);
server << get legend item(1,1) // error message
편집: 다른 컴퓨터나 JMP를 재시작한 이후에도 문제를 재현할 수 없습니다.
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
Re: 범례 항목 가져오기: 스크립트 가능한 개체 없음
실제로 스크립트 가능한 객체를 반환합니다. For Each()의 버그인 듯합니다. 코드를 동등해야 하는 것으로 변경하면 작동합니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ), Color( :age ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
server = gb << Get Legend Server;
items = server << Get Legend Items;
For Each( {item, index}, items[1],
items[1][index] /*isn't this exactly what item is?*/ << Set Label( "Item " || Char( index ) )
);
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
Re: 범례 항목 가져오기: 스크립트 가능한 개체 없음
아, 죄송합니다. 맞는 말씀입니다. 개별 항목은 실제로 스크립팅이 가능합니다.
Interesting: a batch message like items << get label
produces the same issue.
maybe batch messages use 각각에 대하여 in the background ?
더 깊이 파고들어 보니 오래된 티켓을 찾았습니다: TS-00128192
다행히도, 그 동안 이 문제는 충분히 해결되었습니다. JMP19(EA5)에서는 이 문제가 해결되었습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ), Color( :age ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
server = gb << Get Legend Server;
items = server << Get Legend Items;items << get label // same issue as with for each
show(items[1][1])
items[1][1] << get label(); // OK, on the lowest level, there is a scriptable object
Show(tmp = items[1][1::2]); // then this is a list of ...
tmp[1] << get Label(); // ...no
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 직접 링크 가져오기
- 인쇄
- 부적절한 컨텐트 신고
Re: 범례 항목 가져오기: 스크립트 가능한 개체 없음
원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.