Queridos todos,
Estoy buscando una manera de mejorar el diseño de mis gráficos mediante la reorganización de lo que hice con el generador de gráficos. Ahora tengo 9 gráficos pequeños uno debajo del otro, usando la opción "Página". Lo que me gustaría, es tenerlos ordenados 3X3 ya que esto se ve mucho mejor (algún tipo de pantalla de enrejado). Sé que puede obtener esto utilizando el botón "Ajustar", pero en ese caso, todos los ejes se configuran por igual, lo cual no es una opción ya que la variable de agrupación que uso para "Página" se relaciona con parámetros con unidades muy diferentes y órdenes muy diferentes de magnitud…. De manera similar, el "grupo X" o "grupo Y" tampoco funcionaría. Intenté enviar los gráficos a un diario y reordenarlos manualmente, pero no logro pegar bien los gráficos junto a otro.
No estoy seguro de si necesitaría escribir una secuencia de comandos para esto, para asegurarme de que el informe esté estructurado usando "imágenes / pantallas de visualización" o algo así, pero el problema es que cada vez que guardo la secuencia de comandos para mi generador de gráficos y luego la ejecuto nuevamente el gráfico no se muestra, solo los ejes son ... Entonces, lo más fácil (creo) es hacer primero el gráfico en el generador de gráficos, enviarlo a un diario y luego reorganizar el diario. ¿Derecha?
¿Alguna idea sobre cómo lidiar con esto?
¡¡Muchas gracias!!
Yanne
Podría crear gráficos individuales y luego juntarlos en una ventana. Si siempre muestra los mismos 9 gráficos, la secuencia de comandos a continuación podría ser todo lo que necesita; Si los niveles cambian, puede construir la jerarquía de ventanas con un bucle.
Names default to here( 1 );
//Open sample data and create a binning column
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt << New Column( "Age (decades)",
Numeric,
Nominal,
Format( "Best", 10 ),
Formula( 10 * Floor( :Name( "Age (years)" ) / 10 ) )
);
//function to build each individual graph with a local data filter
GraphDecade = function({decade},
gb = dt << Graph Builder(
Size( 300, 300 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Name( "Age (years)" ) ) ),
Elements( Histogram( X, Legend( 5 ) ) ),
SendToReport( Dispatch( {},
"Graph Builder",
OutlineBox,
{Set Title( "Decade: " || Char( decade ) )} )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Name( "Age (decades)" ) ),
Where( :Name( "Age (decades)" ) == decade ),
Display( :Name( "Age (decades)" ), Size( 256, 168 ), List Display )
)
)
)
);
//Window with graphs
win = new window( "Ages by Decade",
V List Box(
Text Box( "Distribution of Ages within Decades", << Set Font Size( 20 ), << Set Width( 600 ) ),
H List Box(
vb1 = V List Box(
GraphDecade(20),
GraphDecade(40)
),
vb2 = V List Box(
GraphDecade(30),
GraphDecade(50)
)
)
)
);
(vb1[1] << Find("Local Data Filter")) << visibility("collapse");
(vb1[2] << Find("Local Data Filter")) << visibility("collapse");
(vb2[1] << Find("Local Data Filter")) << visibility("collapse");
(vb2[2] << Find("Local Data Filter")) << visibility("collapse");
Editado: error corregido