データ フィルターによって一部の行が削除された場合でも、ヒートマップにすべての行を表示するコツはありますか?
「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 列を Ordinal から Continuous に変更すると、必要な完全な Y 軸が得られます。

悲しいことに、私たちの場合、その変数は本当に名目上のものであるため、私たちの特定の問題では機能しません。
すべてのカテゴリを含む単純な Shape マップを作成し、カウント列をマップ上にドラッグすると、ヒート マップであるコロプレス マップが表示されます。現在の X 変数と Y 変数を組み合わせた新しい列を作成する必要があります。この列はマップ内の特定の要素を指しますが、これで希望通りの結果が得られます。
これは使えそうです。シェイプマップに関するドキュメントを読みましたが、理解できているかどうかわかりません。あなたが説明している地図を作成するにはどうすればよいですか?そして、どうやってロードすればよいのでしょうか?
マップは次の場所に保存できます
C:\Users\\AppData\Roaming\SAS\JMP\Maps
または、$TEMP に保存し、その場所をグラフ ビルダーに渡すことで参照することもできます。時間をかけてサンプルをスクリプトに拡張し、シェイプ マップ ファイルを作成し、それを $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)))
);
データによっては、Jim がすでに提案したように、Shape Files が良いアイデアになる可能性があります。
ジャーモ
あなたの応答は明らかにより良い選択ですが、対話型の選択は
除外された行を表示
選択リストにオプションとして表示されません

このオプションは私の設定に表示されます。何が問題なのかわかりますか?