Desconcertado por Graph BuilderA un cliente le gustaría crear un gráfico en el que haya un gráfico de barras apiladas y puntos sobre la barra.Me burlé de un ejemplo usando Big Class (vea el script a continuación).Puedo acercarme a lo que necesita anidando la edad dentro del sexo y también incluyendo la edad en el papel del color, pero no puedo conseguir que las barras apiladas tengan diferentes colores o patrones.El segundo gráfico tiene la edad en la función de superposición, pero los puntos no están por encima de las barras; al cliente realmente le gusta el sombreado de color por edad en los gráficos de barras y los diferentes colores para las variables Y apiladas.Así que los elementos necesarios son:
- puntos encima de las barras
- capacidad de ver variables Y apiladas en la barra
- capacidad para denotar la edad
El gráfico de clientes es un poco más complicado que mi ejemplo, ya que es un enrejado agrupado por variables Y y X.
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// New formula column: height+weight
dt << New Column( "height+weight",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height + :weight )
);
dt << Graph Builder(
Size( 822, 623 ),
Variables(
X( :sex ),
X( :age, Position( 1 ) ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Color( :age )
),
Elements(
Points( X( 1 ), X( 2 ), Y( 3 ), Legend( 5 ) ),
Bar( X( 1 ), X( 2 ), Y( 1 ), Y( 2 ), Legend( 6 ), Bar Style( "Stacked" ) )
)
);
dt << Graph Builder(
Size( 570, 619 ),
Variables(
X( :sex ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Bar Style( "Stacked" ) ),
Points( X, Y( 3 ), Legend( 5 ) )
)
);
Re: Desconcertado por Graph Builderintente esto: agregue su variable y al eje y dos veces. Una vez como una barra, y luego haga clic derecho y agregue puntos. Entonces la altura, o cualquier variable que tengas en la Y, está con la barra, y también con los puntos. Si los puntos están por encima de la barra, podrán verlos.
Lo hice con estos datos:

¿Funcionará esto para lo que quieren?
Re: Desconcertado por Graph BuilderLos puntos son una variable Y diferente a la que se apila en el gráfico, por lo que no creo que funcione.Jugué con esa idea y no parece funcionar.
Re: Desconcertado por Graph Builder¿Puede poner la variable Y diferente en el eje Y2 para que funcione? ¿Al mismo tiempo que lo agrega a la superposición o función de color?
Re: Desconcertado por Graph BuilderLos puntos aún no estarán por encima de las barras, porque la superposición de una variable categórica separará las barras pero no los puntos.
Re: Desconcertado por Graph BuilderMe parece que el cliente quiere hacer demasiado con el color: diferentes colores para los elementos apilados en cada barra, mientras que también un degradado de color continuo por edad. Simplemente no hacemos eso.
Tal vez anime al cliente a encontrar una forma diferente de representar las edades o la superposición apilada. El color no se puede utilizar para ambos a la vez.
Re: Desconcertado por Graph BuilderNo creo que el problema sea necesariamente el color; a continuación se muestra un gráfico donde se han utilizado colores para las categorías y un degradado continuo para: peso (color o marca por columna). Sin embargo, no estoy seguro de que esto sea lo que se desea.

Re: Perplejo por Graph BuilderBrady y yo hablamos por teléfono y hablamos de esto. Se nos ocurrieron un par de opciones que tendrían que estar escritas en un guion. Te contaré qué se nos ocurre.
Re: Perplejo por Graph Builder¿Qué tal usar el eje Y2?
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables(
X( :sex ),
Y( :"height+weight"n, Side( "Right" ) ),
Y( :height, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 2 ), Legend( 9 ), Bar Style( "Stacked" ) ),
Points( X, Y( 1 ), Legend( 8 ) )
),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {9, [6, 7, 8, 9, 10, 11], 8, [0, 1, 2, 3, 4, 5]} )}
)
)
)
