Comment puis-je utiliser une colonne comme ligne de référence vers un tableau bivarié ? J'ai une table de données avec 4 colonnes comme limite de contrôle supérieure, limite d'avertissement supérieure, limite d'avertissement inférieure et limite de contrôle inférieure. Le tableau de données a également une colonne avec de nombreuses variables. Il existe une valeur spécifique de limites pour chaque variable. J'essaie de tracer la valeur en fonction du temps par variable, mais j'aimerais que les limites de ce graphique variable spécifique soient ajoutées sur l'axe y.
J'ai joint le fichier jmp de la grande classe à titre d'exemple, mais j'ai ajouté UCL, CL et LCL. Ce que je veux, c'est représenter graphiquement le poids (ma valeur) par rapport à la taille (temps) par sexe (variable). Mais j'aimerais que la colonne UCL, CL et LCL apparaisse comme des limites sur l'axe y de son graphique de variables approprié. J'espère que c'est un peu clair? Toute aide serait appréciée.
Salut, je l'utilisais sur un tracé de superposition et cela fonctionne comme un charme.
Je veux maintenant l'utiliser sur un tracé à sens unique, mais cela ne semble pas fonctionner. y a-t-il un autre moyen de l'utiliser sur une parcelle à sens unique?
Questions rapides. Comment faire si j'ai plusieurs groupes By avec différents types de limites au lieu de juste by (:sex) ?
Summarize( dt, byVals = by( :sex, :age ) );
UCL = :UAL[(dt << get rows where( :sex, :age == byVals[i] ))[1]];
La réalité est que les cartes UWL et LWL échouent.Vous ne voyez tout simplement pas le problème dans le graphique UWL.Il semble que lorsque vous spécifiez une ligne de référence Ajouter à un graphique lorsque la valeur du graphique est une valeur manquante, ".", le code cesse de fonctionner à partir de ce point pour le graphique.Dans le cas du graphique UWL, il a répertorié toutes les lignes de référence que vous souhaitez afficher, avant que le code ne cesse de fonctionner lorsqu'il rencontre la valeur manquante pour la ligne de référence LWL.Cependant, dans le graphique LWL, la ligne de référence UWL est tentée avant la ligne de référence LWL et le code cesse de fonctionner lorsqu'il trouve la valeur manquante pour la ligne de référence UWL.Plusieurs façons différentes de contourner ce problème existent, voici ci-dessous une façon de gérer cela
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( :sex ) );
// Generate the Plot code
op = Overlay Plot(
X( :height ),
Y( :weight ),
by( :sex ),
SendToReport(
Dispatch(
{},
"101",
ScaleBox,
{Label Row( Label Orientation( "Vertical" ) )}
)
)
);
For( i = 1, i <= N Items( byVals ), i++,
// Get the LCL and UCL values for this by group. UWL is only for F and LWL is for M
UCL = :UAL[(dt << get rows where( :sex == byVals[i] ))[1]];
LCL = :LAL[(dt << get rows where( :sex == byVals[i] ))[1]];
UWL = :UWarnL[(dt << get rows where( :sex == byVals[i] ))[1]];
LWL = :LWarnL[(dt << get rows where( :sex == byVals[i] ))[1]];
show(byvals[i],ucl,lcl,uwl,lwl);
// Make sure the UCL and LCL values are displayed
chartMin = Min( :weight[dt << get rows where( :sex == byVals[i])]);
chartMax = Max( :weight[dt << get rows where( :sex == 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(
{:sex == __byVals__},
Y Axis[1] << {{Min( __min__ ), Max( __max__ ),
Add Ref Line( __UCL__, "Solid", "Medium Dark Red", "UAL", 1 ),
Add Ref Line( __LCL__, "Solid", "Medium Dark Red", "LAL", 1 ),
Add Ref Line( __WLVal__, "dotted", "Medium Dark Red", __WL__, 1 )
}}
)
),
Expr( __byVals__ ), byVals[i],
Expr( __UCL__ ), UCL,
Expr( __LCL__ ), LCL,
Expr( __WLVal__ ), If(isMissing(UWL)==0,UWL,LWL),
Expr( __WL__ ), If(isMissing(UWL)==0,"UWL","LWL"),
Expr( __min__ ), chartMin,
Expr( __max__ ), chartMax
)
);
);Voici également le script
Je suis allé de l'avant et j'ai modifié votre script pour ce dont j'avais besoin. Cela fonctionne pour ce dont j'ai besoin; Cependant, maintenant que j'ai ajouté une ligne de référence supplémentaire, j'ai des problèmes. Ci-joint un exemple général. Bigclass avec des colonnes supplémentaires sont joints et le script que j'ai modifié. J'essaie d'inclure une limite d'avertissement supérieure, mais la valeur ne sera disponible que pour le sexe F. Et pour le groupe M, il existe une limite d'avertissement inférieure. Lorsque j'exécute le script, l'UWL apparaîtra pour le premier graphique qui est pour le groupe F mais le LWL n'apparaîtra pas sur le 2ème groupe de graphiques M. Une idée de comment contourner cela?
Juste ce que j'ai besoin. Cela ne fonctionne que sur JMP12 bien sûr. Merci.
Il y a une piste de discussion qui a couvert cela auparavant.Voir:
Définir UCL/LCL dans les colonnes