Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Wenn ich das Diagramm beispielsweise so zeichne, sind die Breiten dieser beiden X-Achsen unterschiedlich.
Danke!
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>Automatisierung und Skripting</LINGO-LABEL><LINGO-LABEL>Windows</LINGO-LABEL></LINGO-LABS>
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Sie können die Höhenspalte in zwei Teile aufteilen:

... und erzeuge 2 nebeneinanderliegende Grundstücke:
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 )} )
)
);
leider ist die Farbe in der Darstellung unerwartet: gleiche Farbe für beide Geschlechter?!
anscheinend wird die Farbe aus Zeilen ohne Werte in der Spalte übernommen, die für die Antwortachse verwendet wird.
-> interessante / wichtige Erkenntnis!

Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Danke, Experten!
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Also zusätzlich entweder Farbaufteilung oder Altersachse:

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 )} )
);
Mit der Möglichkeit, die x-Achsen unabhängig voneinander zu skalieren, erhält man auch die „Pflicht“ auf sinnvolle Bereiche (= gleicher Bereich) für die 2 Farbskalen.
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Ein viel besserer Weg: über die Seite
- unabhängige X-Achsen
- synchronous y axis scale - via Link Page Axes( "Y Only" ),
- synchrone Farbskala
ich hoffe, Sie haben nichts gegen die kleine Lücke zwischen den Plots

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 ) ) )
);
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Diese Breite ist gleich.
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Oh ja, du hast Recht. Der Bereich kann individuell angepasst werden, die Breite bleibt aber zwangsläufig gleich.
Dann befürchte ich, dass Sie den langen Code benötigen.
mal sehen, was andere Benutzer vorschlagen ...
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Danke, Experten!
Ich verwende dieses Skript.
Wie können wir diese Teilmenge erhalten, indem wir den Schritt zum Erstellen eines Screenshots ausführen, indem wir mit der Maus über die Grafik fahren oder darauf klicken?

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 )} )
));
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Ich habe einen solchen Code ausprobiert und konnte ihn nur durch Klicken auf das Bild „F“ auf der linken Seite erreichen.
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>Danke, Experten!</P>
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Im Bild im Beitrag N-2 scheint es so, als ob man auch rechts auf den Balken „M“ klicken könnte?
Könnten Sie zum besseren Verständnis des Problems einige Kommentare dazu hinzufügen, was möglich ist und was nicht?
Welche JMP-Version?
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Nachdem ich noch einmal darüber nachgedacht habe (über meinen ursprünglichen Beitrag):
Ich empfehle nicht, ein Diagramm wie dieses zu erstellen – sehr gefährlich.
Ich musste Zusammengeführt verwenden, um die Beschriftungen auf der Y-Achse zu komprimieren. *)

Andernfalls stellt Graph Builder es entpackt dar:

A)
Zusammenführen führt zu falschen Beschriftungen auf der Y-Achse: 1,2,3... statt 12,13,14 ...
b) Es ist systematisch, aber gefährlich:
Um das Problem zu erkennen, erstellen Sie einfach das Diagramm mit einem fehlenden Eintrag (z. B. KEINE Frau, 15 Jahre):

Da „Merge“ die Beschriftungen durch 1, 2, 3 ersetzt, werden die Balken für „Weiblich“ verschoben und nicht mehr mit den Balken für „Männlich“ ausgerichtet (!).
Das Thema ist interessant, es veranschaulicht, wie JMP mit Daten mit fehlenden Einträgen umgeht.
Übrigens - auf meinem System ist die Standardeinstellung

Wenn Ihr Diagramm also leer ist:

Gehen Sie zum roten Dreieckmenü und aktivieren Sie die Option.
Unter der Zeile:
Wenn „Fehlende Kategorien einschließen “ deaktiviert ist (und mit allen fehlenden Werten, die wir hinzugefügt haben!), gibt es nichts zu plotten.
(Graph Builder entfernt die Zeile auch aus Unterdiagrammen, in denen die Spalte mit dem fehlenden Wert nicht verwendet wird.)
Wenn „Fehlende Kategorien einschließen“ aktiviert ist, behandelt Graph Builder fehlende Werte als separate Ebene und fügt dadurch eine unerwünschte Aufteilung hinzu.
Um die Aufteilung zu beseitigen, habe ich die Option „Zusammenführen“ verwendet. Diese ignoriert die tatsächlichen Einträge und ersetzt die einzelnen Werte durch ihren Rang. Dies ist gefährlich, wenn dieselben Werte in verschiedenen Teilmengen unterschiedliche Ränge haben.
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?mit den beiden Optionen:
@hogi schrieb:
zusätzlich entweder Farbaufteilung oder Altersachse:
vergiss lieber das zweite - und benutze das erste:

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 ) ) ),
)
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?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>
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Sie bevorzugen die Ansprache über das Alter?
Fügen Sie dann möglicherweise eine Prüfung hinzu, ob beide Teilmengen genau die gleichen Altersgruppen enthalten.
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Dies wird durch KI bereitgestellt. Es kann ausgeführt werden, aber ich weiß immer noch nicht, wie ich die Position der Spaltennummer der Grafik erhalte, auf die ich geklickt habe.
Können Sie mir bitte einen Code geben, Experte?Vielen Dank!
Betreff: Kann die Breite der X-Achse der gruppierten Grafiken separat eingestellt werden?Caption(Char(dt<
<GET selected="" rows=""></GET>