¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Por ejemplo, después de dibujar el gráfico de esta manera, los anchos de estos dos ejes x se establecen para que sean diferentes.
¡Gracias!
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>Automatización y scripting</LINGO-LABEL><LINGO-LABEL>Ventanas</LINGO-LABEL></LINGO-LABS>
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Puedes dividir la columna de altura en dos partes:

...y generar 2 parcelas adyacentes:
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 )} )
)
);
Desafortunadamente, el color en la trama es inesperado: ¡¿el mismo color para ambos sexos?!
Parece que el color se toma de las filas sin valores en la columna que se utiliza para el eje de respuesta.
-> ¡Hallazgo interesante/importante!

Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?¡Gracias expertos!
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Entonces, además, o bien dividimos el color o el eje de edad:

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 )} )
);
Con la capacidad de escalar los ejes x de forma independiente, también obtienes el "deber" de rangos significativos (= mismo rango) para las 2 escalas de color.
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Una forma mucho mejor: a través de la página
- ejes x independientes
- synchronous y axis scale - via Link Page Axes( "Y Only" ),
- escala de colores sincrónica
Espero que no te importe el pequeño espacio entre las tramas.

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: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Este ancho es el mismo.
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Ah, sí, tienes razón. El rango se puede ajustar individualmente, pero el ancho también debe ser el mismo.
Entonces me temo que necesitas el código extenso.
Veamos qué sugieren otros usuarios...
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?¡Gracias expertos!
Estoy usando este script.
¿Cómo podemos obtener este subconjunto siguiendo el paso de tomar una captura de pantalla, pasando el cursor sobre el gráfico o haciendo clic en él?

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: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Probé ese código y solo pude tener éxito haciendo clic en la imagen "F" de la izquierda.
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>¡Gracias expertos!</P>
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?En la imagen del post N-2 parece que también se podría pinchar en la barra “M” de la derecha?
Para comprender mejor el tema, ¿podría agregar algunos comentarios sobre lo que es posible y lo que no?
¿Qué versión de JMP?
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Después de pensarlo de nuevo (sobre mi publicación original):
No recomiendo crear un gráfico como este: es muy peligroso.
Tuve que usar Fusionado para comprimir las etiquetas en el eje Y. *)

De lo contrario, Graph Builder lo traza descomprimido:

a)
La fusión conduce a etiquetas incorrectas en el eje Y: 1,2,3... en lugar de 12,13,14...
b) Es sistemático, pero peligroso:
Para ver el problema, simplemente genere el gráfico con una entrada faltante (por ejemplo, NO mujeres, 15 años):

Como "Fusionar" reemplaza las etiquetas con 1, 2, 3... esto hace que las barras de mujeres se desplacen y las desalinee con las barras de hombres (!)
El tema es interesante, ilustra cómo JMP maneja datos con entradas faltantes.
Por cierto, en mi sistema, la configuración predeterminada es

Entonces, si su gráfico está vacío:

Vaya al menú del triangulo rojo y active la opción.
Debajo de la línea:
Con la opción Incluir categorías faltantes deshabilitada (y con todos los valores faltantes que agregamos), no hay nada que graficar.
(El generador de gráficos también elimina la fila de los subgráficos en los que no se utiliza la columna con el valor faltante).
Con la opción Incluir categorías faltantes habilitada, Graph Builder trata los valores faltantes como un nivel separado y, por lo tanto, agrega una división no deseada.
Para eliminar la división, usé la opción "Fusionar", que ignora las entradas y reemplaza los valores individuales con su rango. Esto es peligroso si los mismos valores tienen diferentes rangos en distintos subconjuntos.
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?con las dos opciones:
@hogi escribió:
Además, ya sea color dividido o el eje de edad:
Mejor olvídate del segundo y usa el primero:

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: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?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: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?¿Prefieres el enfoque por edad?
Luego quizás sea necesario agregar una verificación para comprobar que ambos subconjuntos contienen exactamente los mismos grupos de edad.
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Esto lo proporciona la IA. Puede funcionar, pero aún no sé cómo obtener la posición del número de columna del gráfico en el que hice clic.
¿Podrías darme un código, experto?¡Muchas gracias!
Re: ¿Se puede configurar por separado el ancho del eje X de los gráficos agrupados?Caption(Char(dt<
<GET selected="" rows=""></GET>