Bonjour la communauté,
Je suis relativement nouveau sur jmp et j'ai une question de tracé de contour.
J'ai réalisé 20 expériences dont le design était composite central. J'ai adapté un modèle de surface de réponse à mes données.
J'ai ensuite utilisé le modèle pour générer des prédictions sur l'ensemble de mon espace de conception. J'ai ensuite fait un tracé de contour des prédictions.
Existe-t-il un moyen d'ajouter mes points de données expérimentaux, par exemple marqués d'un x, au tracé de contour. Existe-t-il également un moyen d'étiqueter ces points de données avec la valeur de la variable dépendante que j'ai trouvée dans mes expériences ?
Ci-joint une image que j'ai dessinée à la peinture pour illustrer ce que je veux faire. Je ne sais pas comment programmer, donc une réponse avec des sélections de menu et/ou des captures d'écran serait très utile. Merci beaucoup
Merci pour votre réponse. Je n'ai pas réussi à comprendre le script. Mais j'ai trouvé un moyen de le faire. J'ai créé mes tracés de contour avec tracé de contour à partir du menu graphique. J'ai également créé des diagrammes de dispersion de mes variables indépendantes. J'ai copié le contenu du cadre du nuage de points dans les tracés contor. Ensuite, j'ai étiqueté manuellement les points avec des annotations textuelles.
Salut @AlexandreS ,
Bienvenue dans la communauté ! Celui-ci est un peu doozy pour un nouvel utilisateur de JMP car nous allons devoir faire beaucoup de scripts JMP, mais c'est parti :
Je suppose que vous visualisez le profileur de contour dans Fit Model et non dans un profileur personnalisé séparé.Dans tous les cas, les mêmes étapes générales s'appliquent.J'utilise l'ensemble de données d'exemples RSM personnalisé de la bibliothèque d'exemples de données.
Commencez par ouvrir un nouveau script et créez une référence de variable à votre table de données.Ici, j'ouvre juste la table RSM personnalisée.
dt = Open("$Sample_Data\Design Experiment\Custom RSM.jmp");Vous devez obtenir le script du rapport qui contient votre profileur.S'il provient de Fit Model, le script ressemblera à Fit Model(Y(:Y), Effects(...),...); Nous devons obtenir une référence à la fenêtre de rapport afin de pouvoir personnaliser le contenu du profileur.Voici comment je l'ai fait avec l'exemple Custom RSM :
rpt = (
dt << Fit Model(
Y( :Y ),
Effects(
:X1 & RS,
:X2 & RS,
:X3 & RS,
:X1 * :X1,
:X1 * :X2,
:X2 * :X2,
:X1 * :X3,
:X2 * :X3,
:X3 * :X3
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
Contour Profiler(
1,
Term Value(
X1( 0, Lock( 0 ), Show( 1 ) ),
X2( 0, Lock( 0 ), Show( 1 ) ),
X3( 0, Lock( 0 ), Show( 1 ) )
),
Contour Value( Y( 62.703, Min( 52.5 ), Max( 75 ) ) ),
Grid Density( "40 x 40" ),
Contour Grid( 50, 80, 5, Y ),
Horizontal Factor( :X1 ),
Vertical Factor( :X2 ),
Y Colors( 21 ),
Up Dots( 0 )
),
:Y << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Effect Details( 0 ), Sorted Estimates( 0 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Residual by Row( 1 ),
Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Box Cox Y Transformation( 1 ), Show VIF( 1 )}
)
)
) << Report;Remarquez que j'ai précédé le script Fit Model avec "rpt = (dt <<" puis mettez ceci sur le back-end : ") << Report;".La variable "rpt" contient maintenant une référence à la fenêtre de rapport pour Fit Model.
Ensuite, nous devons obtenir les valeurs des variables que vous tracez dans le Profileur de contour.Dans mon exemple, les 2 variables sont x1 et x2.J'ai également besoin des valeurs Y pour mes étiquettes de points.
//plotted points
x1_vals = :x1 << Get Values;
x2_vals = :x2 << Get Values;
//values used in labels
y_vals = :y << Get Values;
Maintenant, je peux ajouter un script graphique pour tracer les points et le texte à l'intérieur du profileur comme ceci :
rpt["Contour Profiler"][FrameBox(1)] << Add Graphics Script(
Marker(x1_vals, x2_vals);
for(i=1,i<=N Row(dt),i++,
text(eval list({x1_vals[i],x2_vals[i]+0.05}),char(y_vals[i]));
)
);
Les éléments entre parenthèses m'aident à naviguer dans l'arborescence d'affichage pour accéder à la framebox qui contient l'intrigue.J'utilise Marker() pour ajouter les points.J'utilise la boucle pour ajouter les étiquettes.
Le résultat final ressemble à ceci :
Notez que j'ai quelques points et étiquettes tracés les uns sur les autres parce que j'ai un troisième facteur, X3.Nous pourrions personnaliser davantage cela pour empêcher les étiquettes d'être les unes sur les autres, mais vous voudriez probablement aussi ajouter la valeur pour x3 à toutes ces étiquettes également.Fondamentalement, cette solution ne s'adapte pas très bien à plus de 2 facteurs, mais si vous n'en avez que 2, cela devrait très bien fonctionner.