Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?스크립팅 안내서 > 스크립팅 그래프 > Hover 레이블 > Hover 레이블 실행 컨텍스트 작업 hoverlabels에 정말 유용합니다
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:sex), Y(:age), Color(:name)),
Elements(Points(X, Y, Legend(19))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Textlet(
Setup(
local:encodedWhere = XML Encode(local:_where);
Show(Namespace("local") << Get Contents());
),
Markup(
"
<B>Groupings</B>: {local:_groupings}
<B>Measurements</B>: {local:_measurements}
<B>Summary statistic</B>: {local:_summaryStatistic}
<B>Filter columns</B>: {local:_filters}
<B>Where clause</B>: {local:encodedWhere}
<B>Graph type</B>: {local:_displaySegName}
<B>Data table</B> {local:_dataTable}
<B>Drill depth</B>: {local:_drillDepth}
<B>First Row</B>: {local:_firstRow}
<B>Underlying Rows</B>: {local:_underlyingRows}
"
)
)}
)
)
);
실행하고 로그를 보면 이름 값에 액세스할 수 있어야 합니다.
Namespace("local") << Get Contents() = {{"_filters", {:sex, :age}}, {"_mode", "Textlet"}, {"_where", ":sex == \!"F\!" & :age == 16"}, {"_age", 16}, {"_name", "MARION"}, {"_sex", "F"}, {"_groupings", {:sex, :age}}, {"_firstRow", 36}, {"_underlyingRows", 1}, {"_measurements", {}}, {"_displaySegName", "MarkerSeg"}, {"_dataTable", DataTable("Big Class")}, {"_summaryStatistic", ""}, {"_drillDepth", 1}, {"_xaxis", 0}, {"_yaxis", 0}, {"_customData", [=>]}, {"_localDataFilter", "Local Data Filter(
Close Outline(1),
Add Filter(columns(:sex, :age), Where(:sex == \!"F\!"), Where(:age == 16))
)"}, {"_whereExpr", :sex == "F" & :age == 16}, {"encodedWhere", ":sex == "F" & :age == 16"}};
그러나 플로터 그래프에서 이름 필터를 (쉽게) 강제할 수 있는지 확실하지 않습니다. Skip Filter를 사용하여 필터를 제거할 수 있지만 추가에 대해서는 알 수 없습니다. 스크립팅 안내서 > 스크립팅 그래프 > 호버 레이블 > Graphlet을 사용하여 호버 레이블에 그래프 또는 이미지 추가 . 하위 집합 해결 방법은 하나의 옵션입니다.
오버레이를 사용하면 해당 수준으로 필터링할 수 있지만 해당 단일 지점 위로 마우스를 가져갈 수 없기 때문에 실제로 도움이 되지 않습니다...
Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?내 말은:
30일 평가판 라이센스가 있는 동료들에게 Jmp가 매우 유용하고 매우 쉽다는 것을 확신시키기 위해 보여줄 수 있는 솔루션입니다.

Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?코드 적응 다른 데이터 테이블에서 호버 그래프렛 e#M55890 , 아래 코드와 같을 것 같지만 JSL이 아닌 버전(2번 클릭?)을 사용할 수 있기를 바랍니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
mainGB = dt << Graph Builder( Variables( X( :sex ), Y( :age ), Color( :name ) ), Elements( Points( X, Y, Legend( 19 ) ) ) );
Report( mainGB )["Graph Builder", FrameBox( 1 )] << Set Graphlet(
Picture(
getGraphlet = Function( {row},
{gb},
gb = Graph Builder( Variables( Y( :height ) ), Elements( Points( Y, Legend( 6 ) ) ) );
gb << Local Data Filter( Close Outline( 1 ), Add Filter( columns( :name ), Where( :name == :name[row] ) ) );
gb;
);
If( local:_mode == "Click",
New Window( "Wafer Graphlet", getGraphlet( local:_firstRow ) );
Empty();
,
plt = Platform( local:_dataTable, gb = getGraphlet( local:_firstRow ) );
Picture Box( (gb << report)[Picture Box( 1 )] << Get Picture( 0.5 ) );
);
),
Skip Filters( 1 )
);Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?@nascif_jmp ?
Hover Labels: 더 정확한 필터를 보내시겠습니까?레시피에 따라 다른 데이터 테이블에서 호버 그래프렛을 생성하고 싶습니다. 제공된 ~에 의해 @nascif_jmp .
내가 직면하고 있는 문제는 단일 데이터 테이블로 재현할 수 있습니다.
아래의 예는 매우 지루해 보입니다. "왜 그는 단일 지점을 플롯하고 싶습니까?!?"
... 하지만 두 개의 서로 다른 데이터 테이블이 사용될 때 의미가 있습니다[중앙값이 있는 기본 데이터 테이블, 개별 값이 있는 호버 플롯] : )
데이터 포인트 위로 마우스를 가져갈 때 호버 그래프렛이 단일 데이터 포인트에 정확히 해당하는 데이터로 제한되기를 원합니다.
내 문제: 데이터 포인트가 x 및 y 축에 사용되는 열로 완전히 설명되지 않습니다. 예에서.
[각 성별과 연령에 대한 여러 데이터 포인트로 이어지는 축에 성별과 연령을 사용합니다.]
데이터 포인트 중 하나 위로 마우스를 가져가면 성별 및 연령별로 호버 그래프렛이 제한되지만 단일 데이터 포인트(이름 등을 통해 얻을 수 있음)에는 제한되지 않습니다.
그렇다면 기본 그래프에 영향을 주지 않고 x/y 축을 넘어 데이터 포인트의 보다 정확한 사양을 얻는 방법은 무엇입니까?
색상 또는 크기를 사용하려고 했지만 이러한 설정은 Hover Label Framework에서 무시됩니다.
기본 그래프를 변경하지 않고 추가 열 필터를 Hover Label에 파이프하도록 Hover Label Framework에 지시하는 방법이 있습니까?
대신 2포인트 단일 지점 [호버 레이블의 항목에 해당 그리들렛: 마리온 , F, 16]:

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );<BR />dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :name ) ),
Elements( Points( X, Y, Legend( 19 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Graph Builder(
Variables( Y( :height ) ),
Elements( Points( Y, Legend( 6 ) ) )
)
)
)}
)
)
)
대량 맞춤화Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?멋진.그것은 내가 당신에게 보낸 것보다 훨씬 낫습니다.나도 뭔가를 배웠다.그런데 콜론(:) 앞에 네임스페이스 이름을 추가하거나 _name 앞의 콜론을 제거해야 합니다.열이 아니라 로컬 네임스페이스의 변수입니다.
local:_name
// or simply
_name
Re: Hover Labels: 더 정확한 필터를 보내시겠습니까?내가 두려워했던 것보다 훨씬 쉽게 ...
난 방금 아주 멋진 트릭을 배웠어 @제션 :
"를 통해 호버 그래프를 제한합니다. 어디"
그런 다음 시작할 수 있습니다 @jthi 의 결과:
https://community.jmp.com/t5/Discussions/Hover-Labels-send-a-more-precise-filter/mp/612705/highlight/true#M81282.
추가하기만 하면 됩니다(편집 *).
Where( :name == local:_name )
또는
Where( :name == _name )
*) 하지만 여기서( :이름 == :_이름 ) !
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :name ) ),
Elements( Points( X, Y, Legend( 19 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Graph Builder(
Variables( Y( :height ) ),
Elements( Points( Y, Legend( 6 ) ) ),
Where( :name == local:_name )
)
)
)}
)
)
);