¿Cómo puedo escalar automáticamente el eje desde diferentes plataformas con un solo filtro local en una página combinada?Hola,
Estoy empezando a trabajar con paneles y filtros locales, pero tengo algunas dificultades. Estoy tratando de generar un resumen de una sola página de un análisis de rutina para mí. Puedo crear la ventana con los elementos que me gustaría y el filtro funciona en varias plataformas (gráficos 2xOneway y 1xBivariante) en términos de los datos que se muestran en cada gráfico, sin embargo, el eje en el gráfico 2xOneway se vuelve a escalar con cambios en el local filtro, pero el bivariado no lo hace. ¿Hay alguna manera de hacer que el gráfico bivariado también se vuelva a escalar cuando cambio la selección del filtro local?
Aquí está mi sección de código para crear la ventana combinada (no soy codificador, ¡así que podría no ser bonito!)
nw = new window( "DASHBORAD DEVELOPMENT",
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter(
Conditional,
Local,
Add Filter(
columns( :PRODUCTION_LINE, :PRESS_ID, :AREA_ID, :METROLOGY_FLAG, :Desport_Flag),
Display( :AREA_ID, Size( 160, 75 ), List Display ),
Display( :PRESS_ID, Size( 143, 30 ), List Display )
)
),
Oneway(
Y( :HEIGHT),
X( :MACH ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
),
Oneway(
Y( :HEIGHT),
X( :OPERATOR),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
)
),
Bivariate(
Y( :HEIGHT ),
X( :PRODUCTION_DATE),
Automatic Recalc( 1 ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 1018, 240 )
}
)
)
)
)
)
);¡Disculpas de antemano si esto es algo muy básico que me estoy perdiendo!
Niall
Re: ¿Cómo puedo escalar automáticamente el eje desde diferentes plataformas con un solo filtro local en una página combinada?¡Brillante Jim, muy apreciado!Re: ¿Cómo puedo escalar automáticamente el eje desde diferentes plataformas con un solo filtro local en una página combinada?Aquí hay una modificación a la secuencia de comandos que le envié con un apéndice sin sentido agregado a la secuencia de comandos para agregar gráficos. Es una tontería, pero funciona.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
Report( biv )[Outline Box( 1 )] << append( text box("Changed " || char(originHold)))
);
);Re: ¿Cómo puedo escalar automáticamente el eje desde diferentes plataformas con un solo filtro local en una página combinada?Jim,
En primer lugar gracias por la respuesta, es muy apreciada! Esto funciona
perfecto para el caso por el que pregunté.
¿Es posible usar el mismo tipo de enfoque (Agregar script de gráficos) cuando
usando append() para agregar una sección a una ventana abierta existente? he tratado de
¿Incluirlo en la función de agregar pero me devuelve un error?
Re: ¿Cómo puedo escalar automáticamente el eje desde diferentes plataformas con un solo filtro local en una página combinada?El método que he usado para hacer esto es que agregaría a su plataforma Oneway un << Add Graphics Script() que verifica si Y Origin() o Y Range() ha cambiado, y luego, si es así, luego << Copiar la configuración del eje del eje Y y luego << Pegar la configuración del eje en los ejes Y en la plataforma bivariada.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
)
);