J'essaie d'écrire un script pour automatiser la création d'un graphique bivarié. Ci-dessous un exemple de mes données :

J'ai créé la sortie bivariée que je voulais en utilisant la méthode pointer-cliquer :
- affectant la colonne OD à la réponse Y, la colonne Assigned Cal à la réponse X et la colonne Lot au rôle By
- cliquez avec le bouton droit sur le triangle rouge, cliquez sur Grouper par, en sélectionnant la colonne Condition
- cliquez avec le bouton droit sur le triangle rouge, cliquez sur Fit Special, sélectionnez 2 Quadratic dans la liste déroulante et décochez Centered Polynomial
et le graphique résultant est ce que je veux:

Le script résultant de cette création via la méthode pointer-cliquer est le suivant :
platform = Data Table (dt3) <<
Bivariate(
Y( :OD ),
X( :"Assigned Cal"n ),
Fit Where(
:Condition == "Vendor 4",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {212, 73, 88} )}
)
),
Fit Where(
:Condition == "Vendor 1",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {61, 174, 70} )}
)
),
Fit Where(
:Condition == "Vendor 2",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {66, 112, 221} )}
)
),
Fit Where(
:Condition == "Vendor 3",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {204, 121, 41} )}
)
),
By( :Lot )
);
C'est bien beau, mais dans mon exemple, j'avais 4 valeurs de condition uniques (Vendor 1, Vendor 2, Vendor 3, Vendor 4). Lorsque mes collègues utilisent ce script, leurs données peuvent avoir un nombre différent de conditions (2 ou plus) et leurs noms de condition peuvent être différents. Dans le script ci-dessus, les 4 valeurs de condition uniques sont spécifiquement désignées, les couleurs sont attribuées spécifiquement, etc.
Donc ma question est: comment puis-je écrire un script général pour ce processus qui fera les mêmes actions pour n des valeurs de condition uniques avec différents noms ?
Vous devez utiliser le message << Group By( column ) avec l'objet Bivariate avant d'ajuster le modèle choisi :
platform = Data Table (dt3) <<
Bivariate(
Y( :OD ),
X( :"Assigned Cal"n ),
By( :Lot )
);
platform << Group By( :Condition );
platform << Fit Special(
Degree( 2 ),
Centered Polynomial( 0 )
);
J'ai pensé que la solution pourrait être aussi simple que cela, mais je manquais juste d'expérience avec la façon dont des choses comme Group By () et Fit Special () fonctionnent comme des messages directs. Cela a résolu mon problème, merci!