Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filaHola a todos,
Esperaba que alguien pudiera ayudarme a descubrir el código para cambiar el tamaño del panel en el generador de gráficos.
Esto es del conjunto de datos de la gran clase:

Si quisiera configurar el tamaño para que sea mucho más grande usando JSL (la ventana de ajuste automático está desactivada) sería algo como esto:

¿Cómo lograría eso?
La razón por la que necesito esta funcionalidad es que actualmente, si usas un filtro para la columna "Página", los gráficos se vuelven cada vez más pequeños cuanto más niveles tengas. Cuando tienes un montón de niveles, puede volverse tan pequeño que ni siquiera puedes ver el controlador para cambiar el tamaño de los paneles. Así que tengo que seleccionar algunos niveles, cambiar el tamaño, seleccionar algunos niveles más, cambiar el tamaño, etc..... Muy molesto y elimina algunas de las maravillas de esta nueva capacidad de Graph Builder. Por otro lado, si tiene un montón de niveles con el tamaño adecuado a medida que elimina niveles en el filtro, los gráficos se hacen cada vez más grandes.
Por eso quiero poder tener un cuadro de entrada a través de JSL donde pueda cambiar el tamaño fácil y rápidamente.
Espero que esto tenga sentido y gracias por cualquier idea.
esteban
Automatización y secuencias de comandosExploración y visualización de datosRe: Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filasTiene que activarse de alguna manera, muy probablemente mediante algún control o controlador (en ese ejemplo, puede, por ejemplo, llamar a la misma función antes de que se aplique el controlador de filtro con algo como f(0) ).
Ver más...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
gb = dt << Graph Builder(
Size(569, 357),
Show Control Panel(0),
Replicate Linked Page Axes(0),
Fit to Window("Off"),
Variables(X(:height), Y(:weight), Page(:age, Levels per Row(3))),
Elements(Points(X, Y, Legend(91)), Smoother(X, Y, Legend(92)))
)
);
ldf = gb << Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 13, 14, 15, 16, 17}),
Display(:age, N Items(6))
)
);
change_frame_size = Function({a},
fbs = Report(gb) << XPath("//FrameBox");
fbs << Frame Size(500, 500);
);
change_frame_size(0);
rs = ldf << Make Filter Change Handler(change_frame_size);
A continuación se muestra el caso más simple en el que se activa al presionar un botón.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
V List Box(
Button Box("Update Frames",
(Report(window:gb) << XPath("//FrameBox")) << Frame Size(300, 300);
),
window:gb = dt << Graph Builder(
Size(569, 357),
Show Control Panel(0),
Replicate Linked Page Axes(0),
Fit to Window("Off"),
Variables(X(:height), Y(:weight), Page(:age, Levels per Row(3))),
Elements(Points(X, Y, Legend(91)), Smoother(X, Y, Legend(92))),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 13, 14, 15, 16, 17}),
Display(:age, N Items(6))
)
)
)
)
);
Re: Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filaNo estoy seguro de si hay otras opciones además de controlar esto mediante JSL, pero puede cambiar el tamaño del marco (si no es así, valdría la pena crear un elemento de la lista de deseos. "bloquear tamaño de ventana" para los filtros de datos como ya lo hicimos). tienen "escalas de bloqueo")
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("",
gb = dt << Graph Builder(
Size(569, 357),
Show Control Panel(0),
Replicate Linked Page Axes(0),
Fit to Window("Off"),
Variables(X(:height), Y(:weight), Page(:age, Levels per Row(3))),
Elements(Points(X, Y, Legend(91)), Smoother(X, Y, Legend(92)))
)
);
ldf = gb << Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 13, 14, 15, 16, 17}),
Display(:age, N Items(6))
)
);
f = Function({a},
fbs = Report(gb) << XPath("//FrameBox");
fbs << Frame Size(300, 300);
);
rs = ldf << Make Filter Change Handler(f);
Es posible que desee agregar algún tipo de "forzado de tamaño" al generador de gráficos/su ventana para que la ventana no siga cambiando de tamaño.
Re: Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filaGracias Jarmo! Esto está muy cerca, pero se ve así cuando ejecuto esta sección del código con un nuevo tamaño:
f = Function({a},
fbs = Report(gb) << XPath("//FrameBox");
fbs << Frame Size(500, 500);
);
rs = ldf << Make Filter Change Handler(f);ese generador de gráficos no actualiza el tamaño de los gráficos hasta que cambio las opciones de filtro. ¿Hay alguna manera de forzar que el gráfico actualice el tamaño sin que sea necesario cambiar el filtro?
El plan es tener una ventana flotante donde pueda ingresar diferentes tamaños de marco dependiendo de cuántos niveles haya seleccionado una vez completada la selección.
¡Gracias por cualquier aporte adicional!
Re: Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filas¡Eso funciona de maravilla, gracias!
Re: Cómo cambiar el tamaño del panel Graph Builder cuando se utiliza la organización Página/organizar en filaQuería agregar dónde terminé según su código, brindar una ventana flotante donde puedo dimensionar interactivamente los paneles a mi gusto:
//rev 5-5-24
Names Default To Here(1);
dt=current data table();
obj=current report()["Graph Builder"]<< get scriptable object;
obj1 = obj << Get Window Title;
s = Window(obj1)<< Get Window Size();
nw = New Window("Resize Graph Builder Page Panels",Show Menu( 0 ),Show Toolbars( 0 ),
V List Box(
h list box(
vlist box(
text box("frame Size Y"),
neb1=Number Edit Box( 250 );
),
vlistbox(
textbox("frame Size X"),
neb2=Number Edit Box( 350 );
)
),
Button Box("Update Frames",
Report(obj)<< Fit to Window("Off");
nebval1=neb1 << Get;
nebval2=neb2 << Get;
(Report(obj) << XPath("//FrameBox")) << Frame Size(nebval2, nebval1);
window(obj1) << Set Window Size( s );
),
)
);
nw << Size Window( 400, 200 );
window(obj) << On Close(window("Resize Graph Builder Page Panels")<<CLOSE window=""></CLOSE>