Comment puis-je changer la ligne de référence ? pas de chiffreSalut Je souhaite mettre la moyenne Std des deux données dans la ligne de référence, comme indiqué dans le graphique ci-dessous.
Dans le script JMP ci-dessous, j'ai arbitrairement écrit la moyenne Std, 13,2 (22,2+4,2)/2 = 13,2
En fait, les données que j'utilise sont supérieures à deux. (L'image ci-dessous n'est qu'un exemple)
Comment puis-je modifier le script ?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
Graph Builder(
Size( 1056, 825 ),
Variables( Y( :height ), Y( :weight ) ),
Elements(
Position( 1, 1 ),
Points( Y, Legend( 7 ) ),
Caption Box( Y, Legend( 13 ), Summary Statistic( "Std Dev" ) )
),
Elements(
Position( 1, 2 ),
Points( Y, Legend( 8 ) ),
Caption Box( Y, Legend( 14 ), Summary Statistic( "Std Dev" ) )
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Add Ref Line( 13.3, "Solid", "Medium Dark Red", "Std Dev mean", 2 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Add Ref Line( 13.3, "Solid", "Medium Dark Red", "Std Dev mean", 2 )}
)
)
);
Re : Comment puis-je changer la ligne de référence ? pas de chiffreVoici la méthode que j'utilise pour capturer les statistiques de colonne pour un sous-groupe donné, tel que l'âge, et que vous utilisez.

Voici le scénario.Ajoutez simplement les lignes de référence supplémentaires que vous souhaitez en utilisant la même méthodologie
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
gb = Graph Builder(
Size( 1056, 825 ),
Variables( X( :height ), Group Y( :age ) ),
Elements(
Bar( X, Legend( 17 ) ),
Caption Box( X, Legend( 15 ), Response Axis( "X" ) ),
Caption Box(
X,
Legend( 16 ),
Response Axis( "X" ),
Summary Statistic( "Std Dev" )
)
)
);
Report( gb )[AxisBox( 1 )] << Add Ref Line(
Col Mean( if(:age == 12,:height,.) ) + 4*Col Std Dev( If(:age==12,:height,) ),
"Solid",
"Medium Dark Red",
"Std Dev mean 12",
2
);
Report( gb )[AxisBox( 1 )] << Add Ref Line(
Col Min( if(:age == 12,:height,.) ),
"Solid",
"Medium Dark Red",
"Min 12",
2
);
Report( gb )[AxisBox( 1 )] << Add Ref Line(
Col Max( if(:age == 12,:height,.) ),
"Solid",
"Medium Dark Red",
"Max 12",
2
);
Report( gb )[AxisBox( 1 )] << Add Ref Line(
Col Mean( if(:age == 13,:height,.) ) + 4*Col Std Dev( If(:age==13,:height,) ),
"Solid",
"Medium Dark Red",
"Std Dev mean 13",
2
);
Re : Comment puis-je changer la ligne de référence ? pas de chiffre@txnelson
Merci pour votre aimable réponse !
Il m'en reste encore un dernier ! question.
désolé de vous déranger..
J'aimerais ajouter la ligne de référence Max, min (Mean + 4 * Std dev) dans tous les groupes (âge).
le problème est ci-dessous, le script ne fonctionne pas.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
gb = Graph Builder(
Size( 1056, 825 ),
Variables( X( :height ), Group Y( :age ) ),
Elements(
Bar( X, Legend( 17 ) ),
Caption Box( X, Legend( 15 ), Response Axis( "X" ) ),
Caption Box(
X,
Legend( 16 ),
Response Axis( "X" ),
Summary Statistic( "Std Dev" )
)
)
);
Report( gb )[AxisBox( 1 )] << Add Ref Line(
Col Mean( :height ) + 4*Col Std Dev( :height ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
et l'autre problème, comment puis-je extraire Max, Min (Moyenne + 4 * Std dev) tout le groupe (âge).
J'aimerais appliquer la ligne de référence Max (Mean + 4 * Std dev), Min (Mean + 4 * Std dev) tous les mêmes groupes.
Je pense que je peux utiliser les fonctions Max(), Min()...
Re : Comment puis-je changer la ligne de référence ? pas de chiffreJe vois le problème que vous soulignez.Il semble que même si l'arborescence d'affichage indique qu'il existe 4 axes distincts, JMP les traite en réalité comme 2 axes seulement.Par conséquent, ce qu'il faut faire pour se rapprocher le plus possible de ce que vous voulez, je pense, on peut prendre les données pour la taille et le poids dans 4 colonnes, en fonction de la valeur du sexe, puis tracer les 4 variables séparément.

Voici le JSL
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
dtSplit = dt << Split(
Split By( :sex ),
Split( :height, :weight ),
Remaining Columns( Drop All ),
Sort by Column Property
);
gb = dtSplit << Graph Builder(
Variables( Y( :height F ), Y( :weight F ), Y( :height M ), Y( :weight M ) ),
Elements(
Position( 1, 1 ),
Points( Y, Legend( 11 ) ),
Caption Box( Y, Legend( 15 ), Summary Statistic( "Std Dev" ) )
),
Elements(
Position( 1, 2 ),
Points( Y, Legend( 12 ) ),
Caption Box( Y, Legend( 16 ), Summary Statistic( "Std Dev" ) )
),
Elements(
Position( 1, 3 ),
Caption Box( Y, Legend( 17 ), Summary Statistic( "Std Dev" ) ),
Points( Y, Legend( 18 ) )
),
Elements(
Position( 1, 4 ),
Points( Y, Legend( 14 ) ),
Caption Box( Y, Legend( 19 ), Summary Statistic( "Std Err" ) )
),
SendToReport(
Dispatch(
{},
"weight F",
ScaleBox,
{Min( 49.5141101773061 ), Max( 150.319351489306 ), Inc( 20 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
18,
Properties( 0, {Line Color( 21 )}, Item ID( "height M", 1 ) )
), Legend Model(
14,
Properties( 0, {Line Color( 19 )}, Item ID( "weight M", 1 ) )
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {11, [0], 12, [1], 18, [3], 14, [2]} ),
Position( {0, 1, 3, 2} )}
)
)
);
Report( gb )[AxisBox( 2 )] << Add Ref Line(
Col Std Dev( :Height F ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 3 )] << Add Ref Line(
Col Std Dev( :Weight F),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 4 )] << Add Ref Line(
Col Std Dev( :Height M ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 5 )] << Add Ref Line(
Col Std Dev( :Weight M ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);Re : Comment puis-je changer la ligne de référence ? pas de chiffre@txnelson
Merci pour votre réponse.
Dans le script ci-dessous, toutes les valeurs STD du groupe F sont écrites sous forme de valeurs STD du groupe M.
Comment peut-on les séparer en deux groupes ?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
gb = Graph Builder(
Size( 1056, 825 ),
Variables( Y( :height ), Y( :weight ), Group Y( :sex ) ),
Elements(
Position( 1, 1 ),
Points( Y, Legend( 7 ) ),
Caption Box( Y, Legend( 13 ), Summary Statistic( "Std Dev" ) )
),
Elements(
Position( 1, 2 ),
Points( Y, Legend( 8 ) ),
Caption Box( Y, Legend( 14 ), Summary Statistic( "Std Dev" ) )
)
);
Report( gb )[AxisBox( 2 )] << Add Ref Line(
Col Std Dev( If( :sex == "F", :Height, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 3 )] << Add Ref Line(
Col Std Dev( If( :sex == "F", :Height, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 4 )] << Add Ref Line(
Col Std Dev( If( :sex == "M", :Height, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 5 )] << Add Ref Line(
Col Std Dev( If( :sex == "M", :Weight, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Re : Comment puis-je changer la ligne de référence ? pas de chiffreComme on peut le voir dans ma réponse précédente, pour ajouter une ligne de référence, tout ce que vous avez à faire est de transmettre un message << Ajouter une ligne de référence à l'axe auquel vous souhaitez ajouter la ligne de référence :
Report( gb )[AxisBox( 2 )] << Add Ref Line( Col Std Dev( :Height ), "Solid", "Medium Dark Red", "Std Dev mean", 2 );
Pour savoir vers quel axe pointer correctement, il faut examiner la structure arborescente de la sortie du Graph Builder.Pour ce faire, cliquez avec le bouton droit sur le triangle gris à côté de l'en-tête du générateur de graphiques et sélectionnez
Edit==>Afficher l'arborescence


Ensuite, vous pouvez aligner la fenêtre graphique avec la fenêtre de structure arborescente, et cliquer sur l'élément de la fenêtre graphique pour lequel vous souhaitez voir la structure arborescente, et JMP se déplacera vers cette structure dans la fenêtre de structure arborescente.

Comme on peut le voir ici, l'Axe de la colonne Hauteur, pour Sex=="F" est AxisBox(2)
Si vous cliquez sur chacun des axes en question, vous verrez sur quelle boîte d'axe pointer pour ajouter une ligne de référence.Le dernier axe de question, colonne Poids, pour Sex=="M" est :

Il ne reste plus qu'à développer le JSL pour créer les lignes de référence pour les 4 axes et calculer dans chacun des messages Ajouter une ligne de référence, la valeur correcte pour le placement de la ligne de référence.Voici les 4 lignes de code Add Ref Line :
Report( gb )[AxisBox( 3 )] << Add Ref Line(
Col Std Dev( If( :sex == "F", :Weight, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 2 )] << Add Ref Line(
Col Std Dev( If( :sex == "M", :Height, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
Report( gb )[AxisBox( 3 )] << Add Ref Line(
Col Std Dev( If( :sex == "M", :Weight, . ) ),
"Solid",
"Medium Dark Red",
"Std Dev mean",
2
);
A noter que dans ce cas, la colonne Sexe a dû être prise en compte pour le calcul de l'Ecart Type, ainsi que la colonne de mesure.
Re : Comment puis-je changer la ligne de référence ? pas de chiffre@txnelson Merci de votre réponse rapide!
J'ai une autre question.
Si les données ont été regroupées par sexe comme dans l'image ci-dessous, comment puis-je les gérer ?
Re : Comment puis-je changer la ligne de référence ? pas de chiffreVoici une modification simple de votre script qui dessine une ligne de référence à la valeur du Std Dev pour chaque colonne (:Height,:Weight)
dt = Open( "$SAMPLE_DATA/Big Class.jmp" ) ;
gb=Graph Builder(
Size( 1056, 825 ),
Variables( Y( :height ), Y( :weight ) ),
Elements(
Position( 1, 1 ),
Points( Y, Legend( 7 ) ),
Caption Box( Y, Legend( 13 ), Summary Statistic( "Std Dev" ) )
),
Elements(
Position( 1, 2 ),
Points( Y, Legend( 8 ) ),
Caption Box( Y, Legend( 14 ), Summary Statistic( "Std Dev" ) )
)
);
report(gb)[AxisBox(2)]<<ADD ref="" line=""></ADD>