Existe-t-il un moyen d'afficher les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles dans les diagrammes en boîte dans le générateur de graphiques ou les diagrammes unidirectionnels ?Dans mon travail, nous affichons les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles + la moyenne dans nos diagrammes en boîte dans Excel (ce qui est pénible et prend du temps) – existe-t-il un moyen de reproduire cela dans JMP oneway ou dans le générateur de graphiques ?
andrew.botfield@geochemistry.com.au
Exploration et visualisation des donnéesPersonnalisation de masseRe : Le script n'affiche que les moustaches sur l'une des variables X - mais le même exemple de script s'affiche pour les deux sexesexcellent merci!
Re : Le script n'affiche que les moustaches sur l'une des variables X - mais le même exemple de script s'affiche pour les deux sexesRemplacez-le par ......N Items(byGroup).....il deviendra alors un paramètre générique
For( i = 1, i <= N Items( byGroup ), i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
Re : Le script n'affiche que les moustaches sur l'une des variables X - mais le même exemple de script s'affiche pour les deux sexesJ'ai compris – il fallait supprimer des lignes en bas du tableau et faire le chiffre 3 au lieu de 2 (qui, je suppose, est le nombre d'affichages de l'axe X) – whoo !
Pour ( je = 1, je <= 3 , je++,
max = [0, 0];
matx[1] = Matrice( i - 1 - .18 );
matx[2] = je - 1 + .18;
maté = [0, 0];
matY[1] = Matrice( monMat[i] );
matY[2] = Matrice( monMat[i] );
Ligne( matx, maty );
);
);
);
Re : Le script n'affiche que les moustaches sur l'une des variables X - mais le même exemple de script s'affiche pour les deux sexesSalut Jim,
En utilisant le texte ci-dessous, je n'obtiens des moustaches que sur l'une des variables X - quelles modifications apporteriez-vous au script ci-dessous pour qu'il s'affiche sur toutes les variables X - voir également ci-joint - merci d'avance pour votre aide !
Names Default To Here( 1 );
dt = Open( "Insitu Compiled.jmp" );
// Get the statistics
Summarize(
dt,
byGroup = By( :Oxidation ),
p05 = Quantile( :Total %S for data, .05 ),
p10 = Quantile( :Total %S for data, .10 ),
p90 = Quantile( :Total %S for data, .90 ),
p95 = Quantile( :Total %S for data, .95 ),
Mean = Mean( :Total %S for data, ),
Min = Min( :Total %S for data, ),
Max = Max( :Total %S for data, )
);
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :Oxidation ), Y( :Total %S for data ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) )
);
statList = {"p05", "p10", "p90", "p95", "Mean", "Min", "Max"};
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Color( orange );
Pen Size( 1 );
Line Style( "Solid" );
For( s = 1, s <= N Items( statList ), s++,
myMat = Eval( Parse( statList[s] ) );
For( i = 1, i <= 2, i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
);
);

Re : Existe-t-il un moyen d'afficher les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles dans les diagrammes en boîte dans le générateur de graphiques ou les diagrammes à sens uniqueToutes vos questions, à l'exception de la question des moustaches, trouvent une réponse dans l'index des scripts.
Aide==>Index des scripts
Si vous faites défiler la liste des objets et des fonctions sur le côté gauche, vous trouverez une sélection appelée Graphiques.Si vous cliquez dessus, il exposera toutes les fonctions graphiques pouvant être utilisées.
Concernant les moustaches, elles ne peuvent être modifiées qu'en couleur et en épaisseur de trait, et la couleur et l'épaisseur seront pour l'ensemble du box plot.
Si vous choisissez de le faire, vous pouvez simplement utiliser un Graph Box() et dessiner vos propres boîtes à moustaches.
Re : Existe-t-il un moyen d'afficher les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles dans les diagrammes en boîte dans le générateur de graphiques ou les diagrammes à sens uniqueSalut Jim, c'est fantastique (j'ai joué avec le script et ça marche bien. Pourriez-vous me donner d'autres indices de script sur les points suivants (merci d'avance) :
1. Comment spécifier différentes couleurs pour différents groupes de statistiques ajoutées ? (par exemple moyenne par rapport aux valeurs quantiles)
2. Comment changer l'épaisseur des lignes affichées ?
3. Existe-t-il un moyen simple d'afficher les statistiques nouvellement ajoutées sur le graphique ? (c'est-à-dire sous forme de légendes, etc.)
4. Existe-t-il un moyen simple de supprimer les moustaches aberrantes et de les remplacer par de nouvelles moustaches statistiques ?
Re : Existe-t-il un moyen d'afficher les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles dans les diagrammes en boîte dans le générateur de graphiques ou les diagrammes à sens uniqueSalut Jim – merci beaucoup d'être revenu si rapidement – je vais essayer et vous le ferai savoir – bravo !Re : Existe-t-il un moyen d'afficher les 95e, 90e, 75e, 50e, 25e, 10e et 5e centiles dans les diagrammes en boîte dans le générateur de graphiques ou les diagrammes à sens uniqueIl n'existe pas de méthode sélectionnable pour le faire, mais en ajoutant un simple script à la sortie, cela peut être fait.Vous trouverez ci-dessous un script qui ajoute les lignes .05, .10, moyenne, .90 et .95.Les .25, .5 et .75 sont automatiquement générés avec le Box Plot
Voici le scénario
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
// Get the statistics
Summarize(
dt,
byGroup = By( :sex ),
p05 = Quantile( :height, .05 ),
p10 = Quantile( :height, .10 ),
p90 = Quantile( :height, .90 ),
p95 = Quantile( :height, .95 ),
mean = Mean( :height )
);
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) )
);
statList = {"p05", "p10", "mean", "p90",
"p95"};
Report( gb )[FrameBox( 1 )] <<
Add Graphics Script(
Pen Color( Black );
For( s = 1, s <= N Items( statList ), s++,
myMat = Eval( Parse( statList[s] ) );
For( i = 1, i <= 2, i++,
matx = [0, 0];
matx[1] = Matrix( i - 1 - .18 );
matx[2] = i - 1 + .18;
maty = [0, 0];
matY[1] = Matrix( myMat[i] );
matY[2] = Matrix( myMat[i] );
Line( matx, maty );
);
);
);