Tracé UCL/LCL défini dans les colonnes de la ligneSalut,
Quelqu'un peut-il partager comment écrire un script en ajoutant LCL/UCL à n'importe quel type de tracé lorsque ces limites sont définies dans une colonne de cette ligne spécifique. Le tableau comporte plusieurs paramètres tracés (identifiés par la colonne Libellé), de sorte que chaque graphique a un ensemble différent de limites définies pour chacun des types de graphique de cette ligne.
Par exemple (ci-joint), si nous avions deux colonnes d'UCL/LCL dans l'exemple de grande classe avec une table de données empilées.
quelqu'un peut-il écrire un court script pour produire un tracé de superposition pour la hauteur avec LCL et UCL comme défini pour la hauteur dans la colonne respective.
J'espère que la question a du sens.
Merci!!
Re : Tracé UCL/LCL défini dans les colonnes de la ligneQuelqu'un a-t-il un idéal pour tracer cela, lorsque l'UCL/LCL change avec le temps ?
La méthode proposée par JIM @txnelson fonctionne très bien pour les limites statiques UCL/LCL. mais avec des limites changeantes, vous ne savez pas comment faire ?
Re : Tracé UCL/LCL défini dans les colonnes de la ligneJe ne suis pas sûr de ce que vous essayez exactement de faire faire au tracé de superposition.Je vous suggère d'exécuter l'intrigue de manière interactive pour l'obtenir sous la forme souhaitée, puis d'aller simplement dans le triangle rouge et de sélectionner pour que JMP enregistre le script.Mais pour ce que JSL vous avez montré:
Il vous manque un élément X() dans votre spécification Overlay.L'échantillon que vous avez indiqué avoir changé
op = Overlay Plot( Y( :data ), by( :label ) );
n'était pas la bonne forme.Le bon exemple était
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
Par conséquent, la spécification que vous devez utiliser est :
op = Overlay Plot( Y( :data1, :data2), X(:data3 ), by( :label ) , needle (1) );
Re : Tracé UCL/LCL défini dans les colonnes de la ligneSalut,
En tant que débutant JSL, j'ai copié votre approche et fonctionne parfaitement pour des colonnes uniques de données tracées (Merci !). Cependant, je souhaite inclure 2 colonnes supplémentaires (et une aiguille entre elles) dans l'intrigue. Cela se traduit actuellement par un tracé avec les 3 colonnes, mais sans l'UCL/LCL.
J'ai changé le "op = Overlay Plot( Y( :data ), by( :label ) ); "
pour
"op = Overlay Plot( Y( :data1, :data2, :data3 ), by( :label ) , needle (1) ); "
Savez-vous pourquoi et comment y remédier ? Merci!
Re : Tracé UCL/LCL défini dans les colonnes de la ligneLa meilleure façon d'en savoir plus sur les graphiques disponibles est de parcourir le document Essential Graphing
Aide ==> Graphiques essentiels
Ensuite, après avoir exécuté un graphique, vous pouvez sélectionner le triangle rouge dans la sortie graphique pour enregistrer le script.C'est à partir de là que vous obtiendrez le code sur ce que vous devez utiliser pour générer les graphiques.
Vous trouverez ci-dessous une modification du script précédemment fourni.Je l'ai modifié pour vérifier que les lignes de référence sont affichées.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Make sure the UCL and LCL values are displayed
chartMin = Min( :data[dt << get rows where( :Label == byVals[i])]);
chartMax = Max( :data[dt << get rows where( :Label == byVals[i])]);
If(LCL < chartMin, chartMin = LCL );
If(UCL > chartMax, chartMax = UCL );
chartRange5% = (chartMax - ChartMin)/20;
chartMin = chartMin - chartRange5%;
chartMax = chartMax + chartRange5%;
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Min( __min__ ), Max( __max__ ),
Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL,
Expr( __min__ ), chartMin,
Expr( __max__ ), chartMax
)
);
);Re : Tracé UCL/LCL défini dans les colonnes de la ligneMerci beaucoup Jim, cela fonctionne pour les graphiques superposés. Pouvez-vous indiquer une référence où je peux ( en savoir plus sur les paramètres des autres graphiques ) et tracez également d'autres graphiques. Le guide de script n'est pas très utile.
Aussi, une dernière chose, pouvez-vous ajouter une ligne qui s'assurera que les lignes de limite sont visibles. Pour l'instant ils ne sont pas visibles.
Merci encore pour votre temps.
Re : Tracé UCL/LCL défini dans les colonnes de la ligneMerci beaucoup Jim, cela fonctionne pour les graphiques superposés. Pouvez-vous indiquer une référence où je peux également tracer d'autres graphiques. Le guide de script n'est pas très utile.
Aussi, une dernière chose, pouvez-vous ajouter une ligne qui s'assurera que les lignes de limite sont visibles. Pour l'instant ils ne sont pas visibles.
Merci encore pour votre temps.
Re : Tracé UCL/LCL défini dans les colonnes de la ligneVoici un script de démarrage qui produira ce que vous voulez pour l'exemple de table de données.Il génère un tracé de superposition.Pour faire de même pour vos tableaux de variabilité, il faudra quelques modifications, puisque chacune des plateformes a des options différentes, etc.
Names Default To Here( 1 );
dt = Current Data Table();
// Get all of the by values, since separate code will have to be added for each
Summarize( dt, byVals = by( :Label ) );
// Generate the Plot code
op = Overlay Plot( X( :name ), Y( :Data ), by( :label ) );
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group
LCL = :LCL[(dt << get rows where( :Label == byVals[i] ))[1]];
UCL = :UCL[(dt << get rows where( :Label == byVals[i] ))[1]];
// Generate the code to produce the LCL and UCL reference lines
Eval(
Substitute(
Expr(
op << SendToByGroup(
{:Label == __byVals__},
Y Axis[1] << {{Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LCL", 1 ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UCL", 1 )}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL
)
);
);Re : Tracé UCL/LCL défini dans les colonnes de la ligne1. Je suppose que le nom de la colonne est l'axe X
- J'ai utilisé un tracé de superposition comme exemple, tout tracé qui a une valeur numérique sur l'axe y (par exemple la taille ou le poids). L'axe X peut être nommé comme vous l'avez suggéré.
2. Vos valeurs LCL et UCL sont toutes les mêmes pour chacune des lignes où pour les lignes définies comme "Hauteur".Sera-ce le cas, ou avec une vraie table de données, les valeurs LCL et UCL vont-elles changer ?
- Les limites peuvent changer pour différentes catégories dans la catégorie d'étiquette. (pour clarifier : un LCL/UCL pour la taille, un autre UCL/LCL pour le poids)
3. Lorsque vous dites "Tracé de superposition", faites-vous spécifiquement référence à la plate-forme de superposition dans JMP ou indiquez-vous simplement que la valeur des données est superposée avec la LCL et l'UCL et que la plate-forme de création de graphiques pourrait être utilisée ?
- Je joins un tracé à titre d'exemple, qui a un tracé de superposition et un tracé de variabilité avec des limites. (cela a été généré manuellement en ajoutant des lignes dans l'intrigue), je recherche des parcelles similaires.
Merci beaucoup pour votre temps!!
Re : Tracé UCL/LCL défini dans les colonnes de la ligne1. Je suppose que le nom de la colonne est l'axe X
2. Vos valeurs LCL et UCL sont toutes les mêmes pour chacune des lignes où pour les lignes définies comme "Hauteur".Sera-ce le cas, ou avec une vraie table de données, les valeurs LCL et UCL vont-elles changer ?
3. Lorsque vous dites "Tracé de superposition", faites-vous spécifiquement référence à la plate-forme de superposition dans JMP ou indiquez-vous simplement que la valeur des données est superposée avec la LCL et l'UCL et que la plate-forme de création de graphiques pourrait être utilisée ?