グループ化されたグラフの X 軸の幅を個別に設定できますか?たとえば、このようにグラフを描画すると、これら 2 つの x 軸の幅が異なるように設定されます。
ありがとう!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
d2=dt<<SUMMARY></SUMMARY>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><span class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><img src="https://us.v-cdn.net/6038925/uploads/images/75382i47576C683FBC176C/2025-05-01_11-07-14.png" role="button" title="2025-05-01_11-07-14.png" alt="2025-05-01_11-07-14.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P><LINGO-LABS id="lingo-labs-871238" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化とスクリプト</LINGO-LABEL><LINGO-LABEL>ウィンドウズ</LINGO-LABEL></LINGO-LABS>
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?高さの列を 2 つの部分に分割できます。

... 2 つの隣接するプロットを生成します。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height F ), X( :height M ), Y( :age ), Color( :N Rows ) ),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y ) ),
Elements( Position( 2, 1 ), Bar( X, Y ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 )} )
)
);
残念ながら、プロット内の色は予想外です。男女ともに同じ色です。
応答軸に使用される列の値のない行から色が取得されるようです。
-> 興味深い/重要な発見!

Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?専門家の皆様、ありがとうございます!
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?したがって、さらに、色または年齢軸を分割します。

Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
);
x 軸を個別にスケーリングできるため、2 つのカラー スケールに対して意味のある範囲 (= 同じ範囲) を設定することもできます。
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?もっと良い方法:ページ経由
- 独立したx軸
- synchronous y axis scale - via Link Page Axes( "Y Only" ),
- 同期カラースケール
プロット間の小さな隙間を気にしないでください

Graph Builder(
Size( 527, 455 ),
Show Control Panel( 0 ),
Link Page Axes( "Y Only" ),
Replicate Linked Page Axes( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :age ), Page( :sex, Levels per Row( 2 ) ), Color( :N Rows ) ),
Elements( Bar( X, Y, Legend( 7 ) ) )
);
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?この幅は同じです。
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?ああ、その通りですね。範囲は個別に調整できますが、幅は同じに強制されます。
そうすると、長いコードが必要になるのではないかと思います。
他のユーザーの提案を見てみましょう...
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?専門家の皆様、ありがとうございます!
私はこのスクリプトを使っています。
スクリーンショットを撮る手順、グラフィックの上にマウスを移動させる手順、またはグラフィックをクリックしてこのサブセットを取得するにはどうすればよいでしょうか?

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?そのようなコードを試してみましたが、左側の画像「F」をクリックすることによってのみ成功しました。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d1=dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
p2=d1<< Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
frame=(p2<
<REPORT></REPORT>
<P><SPAN><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><span class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><img src="https://us.v-cdn.net/6038925/uploads/images/75545i98906BC556EE670B/2025-05-07_10-58-54.png" role="button" title="2025-05-07_10-58-54.png" alt="2025-05-07_10-58-54.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P> <P>専門家の皆様、ありがとうございます!</P>
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?投稿 N-2 の画像では、右側のバー「M」をクリックすることもできるようです。
問題をより深く理解するために、何が可能で何が不可能なのかについてコメントを追加していただけますか?
JMP のバージョンはどれですか?
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?もう一度考えてみた結果(元の投稿について):
このようなグラフを作成することはお勧めしません。非常に危険です。
Y 軸のラベルを圧縮するには、 合併を使用する必要がありました。*)

それ以外の場合、グラフ ビルダーは解凍された状態でプロットします。

a)
結合により、Y 軸のラベルが間違ったものになります (12、13、14 ではなく 1、2、3...)。
b) 体系的だが危険である:
問題を確認するには、エントリが 1 つ欠落しているプロットを生成します (例: 女性なし、15 歳)。

「マージ」によりラベルが 1、2、3 に置き換えられるため、女性のバーが移動し、男性のバーと位置がずれてしまいます (!)
このトピックは興味深いもので、JMP が欠落したエントリを含むデータをどのように処理するかを示しています。
ちなみに私のシステムでは、デフォルト設定は

したがって、グラフが空の場合は次のようになります。

赤い三角形のメニューに移動してオプションを有効にします。
行の下:
「欠落しているカテゴリを含める」が無効になっている場合 (および、欠落している値をすべて追加した場合)、プロットするものは何もありません。
(グラフ ビルダーは、欠損値のある列が使用されていないサブプロットからも行を削除します)。
「欠落カテゴリを含める」を有効にすると、グラフ ビルダーは欠落値を別のレベルとして扱い、不要な分割を追加します。
分割を解消するために、マージオプションを使用しました。このオプションは、実際のエントリを「無視」し、個々の値をその順位に置き換えます。同じ値が異なるサブセット間で異なる順位を持つ場合、これは危険です。
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?次の 2 つのオプションがあります。
@hogi さんは書きました:
さらに、色または年齢軸を分割します。
2 番目は忘れて、1 番目を使用する方がよいでしょう。

Graph Builder(
Transform Column( "N_M", Formula( If( :sex == "M", :N Rows ) ) ),
Transform Column( "N_F", Formula( If( :sex == "F", :N Rows ) ) ),
Variables( X( :height F ), X( :height M ), Y( :age ), Color( :N_F ), Color( :N_M ) ),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y, Color( 1 ), Legend( 1 ) ) ),
Elements( Position( 2, 1 ), Bar( X, Y, Color( 2 ), Legend( 2 ) ) ),
)
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d1=dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
p2=d1<< Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
rpt = p2 << Report;
frames = rpt << XPath( "//FrameBox" );
For( i = 1, i <= N Items( frames ), i++,
frames[i] << Set Graphlet(
Picture(
try(Close(d2,nosave));
current data table(dt);
d2=dt<
<SUBSET></SUBSET>
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?年齢によるアプローチを好みますか?
次に、両方のサブセットにまったく同じ年齢層が含まれているかどうかのチェックを追加します。
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?これはAIによって提供されます。実行はできますが、クリックしたグラフの列番号の位置を取得する方法がまだわかりません。
専門家の方、コードを教えていただけますか?どうもありがとうございます!
Re: グループ化されたグラフの X 軸の幅を個別に設定できますか?Caption(Char(dt<
<GET selected="" rows=""></GET>