intégrer une radio box avec un tracé bivariésalut
Utilisation du script ci-dessous pour contrôler dynamiquement le tracé bivarié selon le choix de l'utilisateur.
L'utilisateur choisit le type « produit » dans une liste présentée dans une case radio, et le produit choisi sera ensuite utilisé comme argument « Par » dans le graphique bivarié.
J'ai réussi à créer la nouvelle fenêtre contenant la case radio et le tracé mais ce n'est pas interactif.
J'espère que vous pouvez aider!

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)))Tableau de donnéesGraphiqueScriptRe: intégrer une radio box avec un tracé bivariéJe pense que cela vous fournira ce dont vous avez besoin
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: intégrer une radio box avec un tracé bivariéMerci! Fonctionne parfaitement.
Pouvez-vous me recommander où puis-je en savoir plus sur ce type de script JSL ?
Re: intégrer une radio box avec un tracé bivariéVous pouvez me contacter par messagerie instantanée - je suis le créateur du complément DMFE
Re: intégrer une radio box avec un tracé bivariéSalut Merci pour l'aide !
J'ai exécuté votre script suggéré mais j'ai reçu une erreur :

Ce message d'erreur apparaît lorsque je clique sur différentes options de la case radio. J'ai essayé différentes options mais toutes ont conduit à ce message d'erreur.
Savez-vous comment cela peut-il être réparé?
Merci!!
Re: intégrer une radio box avec un tracé bivariéVous souhaiterez peut-être organiser vos exemples et ne pas avoir de noms spécifiques à l'entreprise. Il est également utile d'utiliser les exemples de tableaux de données fournis par JMP pour travailler plus facilement avec les personnes ici.
Cela étant dit, voici un exemple rapide que j'ai mis en place et qui fait fonctionnellement ce que vous demandez.Notez que les bits supplémentaires avec l'espace de noms self et autres sont là pour le contrôle de la portée.Si vous faites beaucoup avec des interfaces utilisateur interactives comme celle-ci, je vous recommande de créer une bibliothèque qui peut contrôler automatiquement la portée de vos scripts avec la méta-programmation.C'est _beaucoup_ plus facile et plus intuitif.
/* 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>