안녕,
그래프 빌더에서 범례 항목을 지속적으로 대상으로 지정하고 수정하는 방법을 찾고 있습니다.
기본 그래프를 생성하기 위해 변수를 추가한 후 디스패치 문을 사용하여 선 스타일/색상/크기를 수정합니다.
내가 겪고 있는 문제는 범례 텍스트(또는 항목 ID)가 데이터 테이블에 포함/제외된 행에 따라 변경되므로 디스패치 문이 일부 선택 항목에서는 작동하지만 다른 항목에서는 작동하지 않는다는 것입니다.
예:
LHS에는 x 범주(YearMonth)당 여러 행이 있습니다. 범례 텍스트의 형식은 "Mean(ColumnName)"입니다. | RHS, 행이 제외된 경우 하나의 x-범주당 행. 범례 텍스트의 형식은 "ColumnName"입니다. |
 |  |
범례 항목을 수정하려면 아래와 같이 범례 Model (...) 문을 사용하고 있습니다. 여기서 항목 ID( "Mean(Yield_A)", 1 )는 수정할 항목을 식별합니다.
gb << send to report (
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 15,
Level Name( 0, "Yield_A", Item ID( "Mean(Yield_A)", 1 ) ),
Properties( 0, {Line Color( "red" ), Line Width( 6 )}, Item ID( "Mean(Yield_A)", 1 ) ),
)
}
));데이터 테이블 필터를 사용하여 행을 포함/제외하여 그래프의 범위를 단일 세그먼트 또는 제품으로 좁힙니다.
단일 제품으로 필터링하면 YearMonth당 하나의 행이 있고 위의 RHS 그래프에 강조 표시된 대로 범례 텍스트가 변경됩니다.
디스패치 문에 사용된 원래 항목 ID( "Mean(Yield_A)", 1 )는 일치하는 항목을 찾지 못합니다(열 이름은 더 이상 평균()으로 래핑되지 않습니다).
한 가지 해결 방법은 범례 모델() 문을 복제하여 "ColumnName" 형식의 범례 텍스트를 대상으로 하는 것입니다(예: 항목 ID( "Yield_A", 1 )).
이것은 효과가 있지만 번거롭습니다.
질문:
- 위에서 언급한 두 경우 모두에 작동하는 범례 항목을 대상으로 하는 대안/더 나은 방법이 있습니까?
- 범례 model() 문이나 해당 구성 요소에 대한 독립형 문서가 있습니까(찾을 수 없음)?
마지막 생각... 각 x 범주에 대해 단일 행/값만 있을 때 범례 텍스트에 Mean() 래퍼를 삭제하는 것은 의도적인 것이라고 가정합니다. 그러나 범례 항목이 여전히 "Mean( columnName)", 값이 하나만 있는 경우에도 마찬가지입니까? 결국 선 요소에 대한 요약 통계는 여전히 "평균"으로 설정됩니다.
감사해요,
레이
위의 내용을 해결책으로 받아들였지만 JMP16에서만 작동합니다. 따라서 JMP15와 함께 작동할 수 있는 다른 제안/옵션에 여전히 열려 있습니다. 감사해요
그것은 다음과 같습니다 레전드 서버 JMP16 추가입니다.
JMP16을 설치했지만 대부분의 조직은 여전히 JMP14 또는 JMP15를 사용하고 있습니다.
저는 팀과 공유하기 위해 JMP GUI를 구축 중이므로 지금은 JMP15를 계속 사용해야 합니다.
@jthi - 의견을 보내주셔서 감사합니다. 앞으로는 반드시 이 기능을 사용할 것입니다(지금은 아니지만).
Legend Server에 대한 스크립팅 인덱스를 확인하면 최소한 범례 레이블을 변경할 수 있습니다(Legend Server에 대한 문서는 상당히 나쁩니다).
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)));