데이터 필터가 행 중 일부를 제거하는 경우에도 히트맵에 모든 행을 표시하는 방법이 있습니까?
"Big Class.jmp"에 대해 작성된 다음 플롯을 고려하십시오.
Graph Builder(
Size( 673, 714 ),
Variables( X( :sex ), Y( :age ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter( columns( :height ), Where( :height >= 65.137 & :height <= 70 ) )
)
)
이 도표를 보면 13세에 대한 행이 완전히 누락되어 있음을 알 수 있습니다. 로컬 데이터 필터가 13세에 대한 모든 항목을 제거했다는 것을 알고 있지만 13세에 대한 행을 계속 표시하도록 하는 좋은 방법, 즉 모두 흰색 행으로 표시할 수 있는 방법이 있습니까?
Age 열을 순서형에서 연속형으로 변경하면 원하는 전체 Y축을 얻을 수 있습니다.

안타깝게도 우리의 경우 해당 변수는 명목상이므로 특정 문제에는 작동하지 않습니다.
모든 범주를 포함하는 간단한 도형 맵을 만든 다음 개수 열을 맵으로 드래그하면 히트 맵인 등치 맵이 표시됩니다. 현재 X 및 Y 변수의 조합인 새 열을 만들어야 합니다. 이 열은 지도의 특정 요소를 가리키지만 원하는 대로 작동합니다.
이것은 효과가 있을 것 같습니다. 셰이프 맵에 대한 문서를 읽었지만 이해하고 있는지 잘 모르겠습니다. 당신이 설명하는 지도를 어떻게 만들 수 있나요? 어떻게 로드하나요?
지도는 다음 위치에 저장할 수 있습니다.
C:\Users\\AppData\Roaming\SAS\JMP\Maps
또는 $TEMP에 저장한 다음 위치를 그래프 빌더에 전달하여 참조할 수 있습니다. 나는 시간을 들여 Shape Map 파일을 생성하고 이를 $TEMP에 저장하고 마지막으로 데이터를 그래프로 표시하는 스크립트로 예제를 확장했습니다.

Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
// Create the Shape Map tables
dtXY = New Table( "Class-XY",
New Column( "Shape", modeling type( Ordinal ) ),
New Column( "Part", Modeling type( Ordinal ) ),
New Column( "X" ),
New Column( "Y" )
);
dtName = New Table( "Class-Name",
New Column( "Shape", Modeling type( Ordinal ) ),
New Column( "Cell", character )
);
dtName:Cell << set property( "Map Role", Map Role( Shape Name Definition ) );
// Populate the tables
ages = Associative Array( dt:Age << get values ) << get keys;
sexes = Associative Array( dt:Sex << get values ) << get keys;
ID = 0;
For Each( {sex, xi}, sexes,
For Each( {age, yi}, ages,
theName = Char( sex ) || Char( age );show(thename);
ID++;
dtName << add rows( 1 );
dtName:Shape[N Rows( dtName )] = ID;
dtName:Cell[N Rows( dtName )] = theName;
dtXY << add rows( 1 );
dtXY:Shape[N Rows( dtXY )] = ID;
dtXY:Part[N Rows( dtXY )] = ID;
dtXY:X[N Rows( dtXY )] = xi;
dtXY:Y[N Rows( dtXY )] = yi;
dtXY << add rows( 1 );
dtXY:Shape[N Rows( dtXY )] = ID;
dtXY:Part[N Rows( dtXY )] = ID;
dtXY:X[N Rows( dtXY )] = xi;
dtXY:Y[N Rows( dtXY )] = yi + 1;
dtXY << add rows( 1 );
dtXY:Shape[N Rows( dtXY )] = ID;
dtXY:Part[N Rows( dtXY )] = ID;
dtXY:X[N Rows( dtXY )] = xi + 1;
dtXY:Y[N Rows( dtXY )] = yi + 1;
dtXY << add rows( 1 );
dtXY:Shape[N Rows( dtXY )] = ID;
dtXY:Part[N Rows( dtXY )] = ID;
dtXY:X[N Rows( dtXY )] = xi + 1;
dtXY:Y[N Rows( dtXY )] = yi;
)
);
// Save the Map tables to the Temp Directory
close( dtXY, Save( "$temp\mycell-XY.jmp" ));
close( dtName, Save( "$temp\mycell-Name.jmp") );
// Add the concatenated Sex/Age column to the data table
dt << New Column( "Cell", character, set each value( :Sex || Char(:Age)));
// Create the Heat map using the Shape Map
gb = Graph Builder(
Size( 522, 456 ),
Show Control Panel( 0 ),
Variables(
Color( :height ),
Shape(
:Cell,
Set Shape File( "$TEMP/mycell-Name.jmp" )
)
),
Elements(
Map Shapes(
Legend( 3 ),
Summary Statistic( "N" ),
Show Missing Shapes( 1 )
)
),
Local Data Filter(
Add Filter( columns( :height ), Where( :height >= 65.137 ) )
),
SendToReport(
Dispatch(
{},
"",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( -2.44489795918367 ),
Max( 6.44489795918367 ), Inc( 1 ), Minor Ticks( 0 ),
Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch(
{},
"",
ScaleBox( 2 ),
{Min( -0.0843053453846471 ), Max( 7.18430534538465 ), Inc( 1 ),
Minor Ticks( 0 ), Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch( {}, "400", LegendBox, {Set Title( "Count" )} )
)
);
// Add the cell labelling to the graph
Report( gb )[FrameBox( 1 )] << Add Graphics script(
For Each( {sex, xi}, sexes,
Eval( Eval Expr( Text( Center Justified, {Expr( xi + .5 ), .5}, Expr( sex ) ) ) )
);
For Each( {age, yi}, ages,
Eval( Eval Expr( Text( Center Justified, {.5,Expr( yi + .5 ) }, Expr( char(age) ) ) ) )
);
);
때로는 제외된 행 표시를 활성화하는 것도 효과가 있을 수 있습니다. 제외된 행 표시를 활성화하려면 Shift 키를 누른 채 빨간색 삼각형을 클릭하세요.

그러나 이로 인해 보고 싶지 않은 일부 행이 표시될 수 있습니다(예를 들어 데이터 테이블에서 행을 제외했을 수 있음).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(626, 662),
Show Control Panel(0),
Ignore Platform Preferences(1),
Show Excluded Rows(1),
Variables(X(:sex), Y(:age)),
Elements(Heatmap(X, Y, Legend(2))),
Local Data Filter(Add Filter(columns(:height), Where(:height >= 65.137)))
);
데이터에 따라 Shape Files는 Jim이 이미 제안한 것처럼 좋은 아이디어일 수 있습니다.
자르모,
귀하의 응답은 분명히 더 나은 선택이지만, 대화형 선택은
제외된 행 표시
내 선택 목록에 옵션으로 표시되지 않습니다.

옵션이 내 기본 설정에 나타납니다. 문제가 무엇인지 아시나요?