Graphbuilder: barras de lado a ladoHola,
Tengo un gráfico con dos ejes Y con diferentes escalas.
El estilo de la barra es "Lado a lado" pero parecen agruparse.
Traté de poner menos muestras en el gráfico para que hubiera menos barras, pero eso no funcionó.
¿Alguna idea de cómo hacerlos uno al lado del otro y no abarrotados?
Atentamente


Re: Graphbuilder: barras de lado a ladoHola @helmon ,
Este es un resultado extraño. ¿Qué versión de JMP estás usando? Podría haber sido un error en el pasado. Con 14.1.0, no parece tener ese problema. Sin embargo, parece que también está tratando de graficar muchas cosas diferentes, incluida la información del Grupo X y el Grupo Y. Este podría ser el motivo. ¿Tienes que hacer el Grupo X / Y? ¿Podría en su lugar poner un filtro de datos local?
Intenté con el archivo TitanicPassenger.jmp para generar un tipo similar de salida, pero a menos que cambie específicamente el gráfico de barras de "lado a lado" a "anidado", siempre mostró las barras de lado a lado.
¿Puedes compartir la tabla de datos? Puede anonimizarlo para que no se comparta información confidencial.
Si pudiera proporcionar un contexto más de qué tipo de datos (nominales / continuos) está graficando, esto podría ayudar.
¡Espero que esto ayude!,
DS
Re: Graphbuilder: barras de lado a lado¡Hola!
Estoy usando 14.1.0.
Me puse en contacto con el equipo de soporte, y aparentemente no fue una solución de un solo clic.
Aquí está la respuesta que obtuve (tenía 3 columnas, A, B y C (%))
---
Haga clic en Tablas -> Pila
Seleccione B (%), A (%) y C (%) y haga clic en Columnas de pila
Llamé a la columna de datos apilados Datos a la izquierda, pero esto es opcional.
Luego necesitamos reformatear el nuevo conjunto de datos
En el conjunto de datos que se abre desde la pila, cree una nueva columna llamada Datos a la derecha
Copie los valores de Data Left en Data Right
Ahora para el eje izquierdo SOLO queremos incluir las filas de A (%), y el eje derecho SOLO queremos B (%) y C (%)
Para hacer esto, elegí Filas -> Filtro de datos
Luego seleccione Etiqueta y haga clic en Agregar
Escoge un (%)
Haga clic en la columna de datos a la derecha y presione eliminar, eliminando así los valores A (%) de los datos a la derecha y dejando SOLO B (%) y C (%).
Regresar al filtro de datos
Esta vez seleccione B (%) y C (%).
Haga clic en la columna de datos a la izquierda y presione Eliminar, eliminando así los valores B (%) y C (%) y dejando SOLO los valores A (%).
Finalmente crea el gráfico
Haga clic en Gráfico -> Generador de gráficos
Arrastre Datos a la izquierda y Datos a la derecha al eje Y
Arrastre el nombre de la muestra al eje X
Arrastrar etiqueta para superponer
Cambiar puntos a barra
Haga clic derecho en el eje Y y elija Mover a la derecha -> Datos a la derecha
---
Pero esto hace que las secuencias de comandos sean un poco más difíciles ahora (estoy tratando de simplificar las secuencias de comandos para que mi equipo pueda usarlas en sus bases de datos).
Solo puedo encontrar el script cuando aparece el nuevo conjunto de datos, que es:
Data Table( "Test for JMP" ) << Stack(
columns( :Name( "B (%)" ), :Name( "A (%)" ), :Name( "C (%)" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "Data Left" )
);
Pero cuando hago los pasos adicionales (agregar columna y filtrado de datos), no puedo encontrar el script para eso.
Solo obtengo el script de Graph Builder, pero eso es solo para el gráfico (no cómo llegaste allí).
Re: Graphbuilder: barras de lado a ladoHola @helmon ,
Gracias por la actualización. ¿Es posible reestructurar su tabla de datos de la base de datos? Supongo que no, pero eso podría ser parte de lo que está haciendo la vida más difícil ahora. Cuando obtengo datos de otros, a menudo paso más tiempo reestructurándolos desde la fuente de Excel a lo que a JMP le gusta trabajar.
De todos modos, probé esto con el archivo AirlineDelay.jmp siguiendo su descripción. Pude obtener el siguiente resultado con el script a continuación.

La secuencia de comandos es bastante corta, y obtuve la mayor parte siguiendo el botón candente y viendo la secuencia de comandos. Tuve que mirar un poco sobre cómo hacer la fórmula de la manera más eficiente, pero no me llevó demasiado tiempo. Debería poder modificar el script a continuación para obtener el resultado deseado para sus datos.
Names Default to here (1);
Data Table( "AirlineDelays" ) << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);
Current Data Table() << Set Name("Stackeddt");
Data Table( "Stackeddt" ) << New Column("Distance", Numeric, "Continuous", Formula(Match( :Label, "Distance", :Data )));//this copies over only the distance data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Data Table( "Stackeddt" ) << New Column("Delay & Time", Numeric, "Continuous", Formula(Match( :Label, "Arrival Delay", :Data, "Elapsed Time", :Data )));//This copies over both the delay and time data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Variables(
X( :Airline ),
Y( :Distance, Side( "Right" ) ),
Y( :Name( "Delay & Time" ), Position( 1 ) ),
Overlay( :Label )
),
Elements( Bar( X, Y( 2 ), Legend( 4 ) ), Bar( X, Y( 1 ), Legend( 5 ) ) )
);¡Espero que esto ayude!,
DS