Page 1 sur 1

Boîte à moustaches

MessagePublié: 31 Jan 2010 14:13
par projetmbc
Bonjour,
je voulais savoir si quelqu'un avait déjà fait une macro pour dessiner de petits moustaches...

Re: Boîte à moustaches

MessagePublié: 31 Jan 2010 18:55
par P.Fradin
Avant de proposer ma macro, j'ai besoin de savoir qu'elle est ta définition précise de quartile et de médiane sur une série de N valeurs.

Re: Boîte à moustaches

MessagePublié: 31 Jan 2010 19:37
par projetmbc
En seconde, on utilise la définition usuelle suivante des quartiles :
Dans les deux définitions ci-dessous, on considère une série ordonnée par ordre croissant.
· Le premier quartile Q1 d'une série statistique est la plus petite valeur de la série telle qu'au moins 25%
des valeurs de cette série lui sont inférieures ou égales.
· Le troisième quartile Q3 d'une série statistique est la plus petite valeur de la série telle qu'au moins 75%
des valeurs de cette série lui sont inférieures ou égales.

Du coup, on arrive aux recettes de cuisine suivantes pour un série discrète d'effectif total N :
  • Position de Q1 ---> Ent(N/4 + 0.75) . Par exemple, N=16 donne Ent(4+0.75)=4 , N=17 donne Ent(4.25+0.75)=5 , N=18 donne Ent(4.5+0.75)=5 , et N=19 donne Ent(4.75+0.75)=5.
  • Position de Q3 ---> Ent(3N/4 + 0.75) .

Pour la médiane, on utilise la définition suivante :
Pour une série ordonnée par ordre croissant, la médiane est une valeur Me du caractère qui partage la
population en deux sous-ensembles de même effectif : les éléments du premier sous-ensemble correspondent à des
valeurs du caractère inférieures ou égales à Me , ceux du second correspondent à des valeurs du caractère
supérieures ou égales à Me .

Du coup, la cuisine se "complique" :
  • si N est impair, on choisit la ((N+1)/2)-ième valeur,
  • si N est pair, il faut la moyenne des valeurs aux rangs N/2 et (N/2+1).
C'est l'usage pédagogique...

Re: Boîte à moustaches

MessagePublié: 31 Jan 2010 20:01
par P.Fradin
Ok, merci.

Voilà un exemple de macro moustache( seire1, serie2, ... ) en fichier joint. Un exemple dans un élément graphique:

Code: Tout sélectionner
moustache( [21,24,24,25,25,28,28],
                    [17,20,21,23,24,25],
                   [15,21,22,23,23,23,26,26,28,29]
                 )


donne:

moustache.png
moustache.png (7 Kio) Consulté 31655 fois


Bien sûr, c'est perfectible, des options sont sans doute possibles (peut-être une légende ou je ne sais quoi).

moustache.teg
(1.33 Kio) Téléchargé 1119 fois

Re: Boîte à moustaches

MessagePublié: 31 Jan 2010 20:25
par projetmbc
Merci, je vais regarder cela de prêt et le faire sûrement évoluer.

Je mettrais cela dans les contributions Statistique si je suis content de moi.

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 20:48
par Jean-François
Bonsoir à tous,
P.Fradin a écrit:Bien sûr, c'est perfectible, des options sont sans doute possibles (peut-être une légende ou je ne sais quoi).

Très bien cette petite macro, mais puisque tu proposes d'ajouter des options :D :D :D :D j'ai une ou deux idées ;) ;) ;) ;)

1) avoir le choix entre une boite verticale et une horizontale
2) rentrer des séries prenant en compte des effectifs

Est-ce possible ?

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 20:56
par projetmbc
Pour les effectifs, on pourrait utiliser 24+5i pour indiquer un effectif 5 de la valeur 24.

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 21:24
par P.Fradin
projetmbc a écrit:Pour les effectifs, on pourrait utiliser 24+5i pour indiquer un effectif 5 de la valeur 24.


Oui, tout à fait. Je regarde ça tout à l'heure quand les enfants seront couchés.

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 22:38
par P.Fradin
Maintenant que je suis daas le calme, je peux proposer une nouvelle mouture:

moustache( "H" ou "V", serie1, [options1], serie2, [options2], ... )


Le premier argument détermine l'orientation des boîtes. Les series peuvent comporter des effectifs (voir exemple ci-dessous). Il y a pour l'instant deux options: grid := 0/1, et legend( "titre" ). On peut également changer les attributs courants dans les options, le changement est alors local. Exemple:

Code: Tout sélectionner
[
moustache("H", [21,24+2*i,25+2*i,28+2*i], [legende("hommes"), grid:=1],
               [17,20,21,23,24,25], [legende("femmes"),FillStyle:=bdiag, FillColor:=blue],
               [15,21,22,23+3*i,26+2*i,28,29],[legende("autre")]
         )
]


24+2*i signifie un effectif de 2 pour la valeur 24. Pour un effectif de 1 on met simplement 24. A la place de 24+2*i, on peut aussi écrire deux fois la valeur 24 dans la série.

moustache.png
moustache.png (8.99 Kio) Consulté 31592 fois


moustache.teg
(2.95 Kio) Téléchargé 1062 fois

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 23:10
par projetmbc
Merci.

Très bien cette option GRID.

Il pourrait être utile pour des élèves de 2nde d'ajouter Min, Q_1, Me, Q_3 et Max sous/à gauche de chaque moustache.

PS : dans le code, je suis tombé sur Nops. Pourquoi ce nom ? J'ai lu la doc. au sujet de Nops.

Re: Boîte à moustaches

MessagePublié: 01 Fév 2010 23:31
par P.Fradin
projetmbc a écrit:Il pourrait être utile pour des élèves de 2nde d'ajouter Min, Q_1, Me, Q_3 et Max sous/à gauche de chaque moustache.


ok, je regarde ça demain après-midi.

PS : dans le code, je suis tombé sur Nops. Pourquoi ce nom ? J'ai lu la doc. au sujet de Nops.


Un vieux reste de maple ...

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 17:49
par P.Fradin
La macro moustache a un peu évolué:

moustache( [options globales], serie1, [options1], serie2, [options2], ... )


Options globales:
* style := horizontal/vertical : style de boite (vertical par défaut)
* grid := 0/1 : dessin ou non d'une grille (0 par défaut)
* distance := longueur distance entre 2 boites (1 par défaut)

Options par séries:

* legend("titre") : pour afficher un titre le long de la boite (vide par défaut)
* labels := 0/1 : pour afficher ou non les valeur min max, q1,q2 et q3.
plus des éventuels changement d'attributs (Color, LineStyle, ...)

Exemple:

Code: Tout sélectionner
[
moustache([style:=horizontal, distance:=1.25, grid:=1],
   [21,24+2*i,25+2*i,28+2*i], [legende("hommes"),labels:=1],
   [17,20,21,23,24,25], [legende("femmes"),FillStyle:=full,FillColor:=blue, FillOpacity:=0.5],
   [15,21,22,23+3*i,26+2*i,28,29],[legende("autre"),labels:=1]
         )
]


moustache.png
moustache.png (8.39 Kio) Consulté 31543 fois


moustache.teg
(3.63 Kio) Téléchargé 1026 fois

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 19:00
par projetmbc
Merci.
Je me suis permis d'ajouter une petite possibilité : en choisissant la valeur 2 pour labels, on obtient les textes et non les valeurs de Min, Q1, Me, Q2 et Max. En fait je pensais à ceci dans mon message précédant. Ce qui est bien avec ta solution est qu'elle donne le corrigé.

Du coup apparaît le problème de textes se chevauchant. Il "suffirait" dans ce cas d'empiler les textes les uns en dessous des autres.

Tu pourrais aussi mettre Me de la même couleur que le trait.

Une question côté CODE : ne pourrais-tu pas envisager la création d'une fonction dédiée aux labels ?

Sur ce, je retourne à mes copies, ce qui me permet au passage de répéter le rôle de ma vie : Sisyphe.

screenshot_02.png
screenshot_02.png (45.47 Kio) Consulté 31522 fois

moustache.teg
(4.03 Kio) Téléchargé 999 fois

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 20:37
par Jean-François
Bonsoir,

Je viens juste de réagir :oops: :oops: :oops: :oops: mais mieux vaut tard que jamais !!!
Il serait bien de prévoir une (au moins pour l'instant ;) ) option supplémentaire à savoir des moustaches qui correspondent aux 1er et 9e déciles.
Dans ce cas, le min et le max sont signalés par deux points.

Merci pour le travail effectué.

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 20:46
par projetmbc
As-tu une image à donner ?

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 21:37
par Jean-François
projetmbc a écrit:As-tu une image à donner ?

Pas sous la main, mais je vais essayer d'en poster dans la soirée.

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 23:03
par Jean-François
Voilà un exemple
diagramme-boite.png
diagramme-boite.png (7.22 Kio) Consulté 31476 fois

Re: Boîte à moustaches

MessagePublié: 02 Fév 2010 23:40
par P.Fradin
Salut Jean-François,

Je sens qu'il va falloir ouvrir bientôt un fil dans la rubrique Macros à Télécharger, car ça commence à se meubler dans la macro moustache :lol:

moustache( [options globales], serie1, [options1], serie2, [options2], ... )


Les options:

Options globales:
* style := horizontal/vertical : style de boite (vertical par défaut)
* grid := 0/1 : dessin ou non d'une grille (0 par défaut)
* distance := longueur distance entre 2 boites (1 par défaut)
* taille := centimetres taille du graphique en cm, (9 par défaut), ce peut être un nombre réel ou un complexe: sizeX+i*sizeY.
* deciles := 0/1: si la valeur est 1 on démarre au premier décile et on s'arrête au neuvième, le min et le max sont matérialisés par un point. Dans le cas contraire on démarre au min et on s'arrête au max (0 par défaut).
* marges := [left, right, top, bottom] : permet d'ajouter du "blanc"autour du dessin (exprimé en cm) (0 par défaut).

Options par séries:

* legend("titre") : pour afficher un titre le long de la boite (vide par défaut)
* labels := 0/1/2 : pour afficher ou non les valeur min max, q1,q2 et q3. Avec la valeur 1 ce sont les valeurs numériques qui sont affichées, avec la valeur 2 ce sont les textes Min, Max, ... qui sont affichés.
* plus des éventuels changement d'attributs (Color, LineStyle, ...)

Exemple;

Code: Tout sélectionner
[
moustache([style:=horizontal, distance:=1.25, grid:=1, taille:=9+7*i, marges:=[0,0,0,2], deciles:=1],
   [21,24+2*i,25+2*i,28+2*i], [legende("hommes"),labels:=2],
   [17,20,21,23,24,25], [legende("femmes"), labels:=1],
   [15,18,21+2*i,22,23+3*i,26+2*i,28,29],[legende("autre"),labels:=1]
         ),
LabelSize:=large,
LabelDot( (Xmin+Xmax)/2+i*Ymin, "Exemples de boîtes à moustaches", "N")
]


moustache.png
moustache.png (12.82 Kio) Consulté 31460 fois


moustache.teg
(5.55 Kio) Téléchargé 1029 fois

Re: Boîte à moustaches

MessagePublié: 03 Fév 2010 00:27
par projetmbc
P.Fradin a écrit:Je sens qu'il va falloir ouvrir bientôt un fil dans la rubrique Macros à Télécharger

Bonne idée d'autant plus que cela est utile pour tout le lycée, je vais en parler à mes secondes. Au moins, je saurais pourquoi je les "barbe"...

PS : au passage, tu pourrais ouvrir une rubrique appelée CookBook, ou Recettes, dans la page d'accueil de TexGraph où seraient réunies des macros jugées finies et utiles, le forum restant le lieu de toutes les expérimentations.

Re: Boîte à moustaches

MessagePublié: 03 Fév 2010 15:56
par Jean-François
P.Fradin a écrit:Salut Jean-François,

Je sens qu'il va falloir ouvrir bientôt un fil dans la rubrique Macros à Télécharger, car ça commence à se meubler dans la macro moustache :lol:

Salut Patrick,

Merci pour cette macro moustache (et non micro, c'est pour cela qu'elle prend de la place :lol: :lol: ), même si quelqu'un de très actif sur ce forum ;) ;) ;) m'a gentiment fait remarqué que j'aurais pu l'améliorer moi même en me forçant un peu :oops: :oops: :oops:

Je vais essayer pour les prochaines fois, enfin si ce n'est pas trop compliqué :!: :!:

Re: Boîte à moustaches

MessagePublié: 03 Fév 2010 17:08
par P.Fradin
projetmbc a écrit:PS : au passage, tu pourrais ouvrir une rubrique appelée CookBook, ou Recettes, dans la page d'accueil de TexGraph où seraient réunies des macros jugées finies et utiles, le forum restant le lieu de toutes les expérimentations.


Il y a déjà ce tableau sur la page Téléchargement du site, bon il faudrait le mettre à jour, il manque le modèle graphes.mod.

Re: Boîte à moustaches

MessagePublié: 03 Fév 2010 19:35
par projetmbc
Je connais mais une rubrique dédiée serait plus visible. Non ?

Re: Boîte à moustaches

MessagePublié: 04 Fév 2010 10:34
par P.Fradin
Voilà, j'ai ajouté un sujet sur le modèle moustache.mod. La discussion sur ce modèle devra donc se poursuivre dans ce nouveau sujet.

Re: Boîte à moustaches

MessagePublié: 04 Fév 2010 21:48
par P.Fradin
projetmbc a écrit:Je connais mais une rubrique dédiée serait plus visible. Non ?


Voilà c'est fait, il y a un lien sur la page d'accueil.