integrar caja de radio con gráfico bivariadoHola
Usando el siguiente script para controlar dinámicamente la gráfica bivariada a elección del usuario.
El usuario elige el tipo de 'producto' de una lista presentada en un cuadro de radio, y el producto elegido se utilizará luego como un argumento 'Por' en la gráfica bivariada.
Logré crear la nueva ventana que contiene el cuadro de radio y la trama, pero no es interactiva.
¡Espero que puedas ayudar!

summarize(unique_values=by("PRODUCT@STARTS"));
my_1_script = expr(
Bivariate(
Y(:Name(
"SPCRAW@WAFER@MEAN@ONTFE.HM_FRAC_LOT_2PT_DYN.74.DER@ML=2PT_DYN_A;PP=2PT_MEAN@188426"
)
),
X(:Name( "END_TIME@CHAMBER@NTSC@Process-1@ETCHER@163096" ) ),
By( cat<< Get Selected ),
GroupBy( :group ),
Fit Spline( 0.1, Standardized, {Line Width( 2 )} ),
UnGroup;
Fit Where(:group == "D1D",
Fit Spline(0.1,Standardized,{Line Color( "Black" ), Line Width( 4 )}));
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 493, 277 ),
Row Legend(
chamber,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
);
my_win = New Window( "DEPOP FRAC - Bivariate",
HListBox(
LineUpBox(ncol(1),
PanelBox("Product",
Outline Box( "Select Product", cat = Radio Box( unique_values, width( 200 ), gb << delete; my_win << append( gb = my_1_script ) ))
), //end PanelBox
gb = my_1_script)))Tabla de datosGráficosScriptingRe: integrar caja de radio con parcela bivariadaCreo que esto te proporcionará lo que necesitas.
Names Default To Here( 1 );
Summarize( unique_values = by( "PRODUCT@STARTS" ) );
my_1_script = Expr(
Bivariate(
Y(
:Name(
"SPCRAW@WAFER@MEAN@ONTFE.HM_FRAC_LOT_2PT_DYN.74.DER@ML=2PT_DYN_A;PP=2PT_MEAN@188426"
)
),
X( :Name( "END_TIME@CHAMBER@NTSC@Process-1@ETCHER@163096" ) ),
By( As Column( catSelected ) ),
GroupBy( :group ),
Fit Spline( 0.1, Standardized, {Line Width( 2 )} ),
UnGroup;
Fit Where(
:group == "D1D",
Fit Spline( 0.1, Standardized, {Line Color( "Black" ), Line Width( 4 )} )
);
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 493, 277 ), Row Legend(
chamber,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
);
)
);
my_win = New Window( "DEPOP FRAC - Bivariate",
H List Box(
Lineup Box( N Col( 1 ),
Panel Box( "Product",
Outline Box( "Select Product",
cat = Radio Box(
unique_values),
button box("OK",
catSelected = cat << get selected;
my_win << close window;
my_1_script;
)
)
) //end PanelBox
)
)
);
Re: integrar caja de radio con parcela bivariada¡Gracias! Funciona perfectamente.
¿Puede recomendarme dónde puedo aprender más sobre este tipo de scripts JSL?
Re: integrar caja de radio con parcela bivariadaPuedes enviarme un mensaje instantáneo: soy el creador del complemento DMFE
Re: integrar caja de radio con parcela bivariadaHola gracias por ayudar!
Ejecuté su secuencia de comandos sugerida pero recibí un error:

Este mensaje de error aparece cuando hago clic en diferentes opciones del cuadro de radio. Probé diferentes opciones pero todas me llevaron a este mensaje de error.
¿Sabes cómo se puede arreglar?
¡¡Gracias!!
Re: integrar caja de radio con parcela bivariadaEs posible que desee seleccionar sus ejemplos y no tener nombres específicos de la empresa; también es útil usar las tablas de datos de ejemplo que proporciona JMP para trabajar más fácilmente con las personas aquí.
Dicho esto, aquí hay un ejemplo rápido que reuní y que funcionalmente hace lo que estás pidiendo.Tenga en cuenta que los bits adicionales con el espacio de nombres propio y demás están ahí para el control del alcance.Si está haciendo mucho con interfaces de usuario interactivas como esta, le recomiendo crear una biblioteca que pueda controlar automáticamente el alcance de sus scripts con metaprogramación.Es mucho más fácil e intuitivo.
/* interactive graph */
self = New Namespace();
self:table = Current Data Table();
self:by group column = "PRODUCT@STARTS";
self:response = "RESPONSE_NAME";
self:time = "TIME_COLUMN";
self:group = "group";
self:items = Associative Array( Column( self:table, self:by group column ) ) << Get Keys;
Eval( Eval Expr(
self:window = New Window( "Graph Example",
<<ON close=""></ON>