Rédaction d'un histogramme

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
zorba
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 522
Inscription : lundi 01 juin 2009, 11:35

Rédaction d'un histogramme

Message par zorba »

Bonjour,
mes meilleurs voeux à tous pour la nouvelle année.
Je démarre l'écriture de documents dans lesquels se trouvent des histogrammes, assez simples, niveau seconde des lycées.
Après avoir regardé ce qui se faisait et essayé PST+, je me suis mis à la tache en rédigeant le document suivant :

Code : Tout sélectionner

\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\everymath{\displaystyle}
\usepackage{lipsum}
\usepackage{pst-all}

\begin{document}
\today\,

\begin{center}
\psset{xunit=0.92cm , yunit=0.92cm,xticksize=0pt 0,yticksize=-4pt 0,linewidth=0.5pt,linecolor=yellow,linestyle=solid,fillcolor=yellow,fillstyle=solid}
\begin{pspicture}(-1,-1)(12,6.5)
\psaxes[Dx=1,dx=1,Dy=10,dy=1,showorigin=false,linecolor=black]{->}(0,0)(11,5)
[\textbf{$\stackrel{\textrm{Nombre}}{\textrm{de pièces}}$},90][\textbf{Personnes},90]
\psframe[](0.6,0.0)(1.4,1.4)
\rput(1,1.6){14}
\psframe[](1.6,0.0)(2.4,2.5)
\rput(2,2.7){25}
\psframe[](2.6,0.0)(3.4,3.1)
\rput(3,3.3){33}
\psframe[](3.6,0.0)(4.4,2.9)
\rput(4,3.1){29}
\psframe[](4.6,0.0)(5.4,1.3)
\rput(5,1.5){13}
\psframe[](5.6,0.0)(6.4,0.9)
\rput(6,1.1){9}
\psframe[](6.6,0.0)(7.4,0.5)
\rput(7,0.7){5}
\psframe[](7.6,0.0)(8.4,0.2)
\rput(8,0.4){2}
\psframe[](8.6,0.0)(9.4,0.1)
\rput(9,0.3){1}
\psframe[](9.6,0.0)(10.4,0.1)
\rput(10,0.3){1}
\end{pspicture}
\end{center}

Voici les points que je souhaite améliorer pour rédiger plus clairement mes documents avec de genre d'histogramme :
\begin{itemize}
\item écrire les instructions psframe avec la valeur réelle et pas avec une valeur bricolée, divisée par 10 dans mes exemples,
\item placer le titre de l'axe vertical à droite de celui-ci et pas centré sur l'axe,
\item écrire le titre de l'axe horizontal sur deux lignes, mais avec la même taille (j'ai essayé stackrel et substack, sans obtenir ce résultat),
\item plus généralement, faire une commande pour éviter tous les calculs des positions et obtenir automatiquement ces valeurs à partir d'une valeur initiale en abscisse et du pas entre chaque valeur. 
\end{itemize}

J'ai utilisé PST+ pour démarrer et découvrir les instructions psframe et psaxes, sans pouvoir faire vraiment la présentation cherchée. C'est pourquoi je me suis lancé avec ce petit programme.
\end{document}
J'ai mis en bas de page les points que je souhaite améliorer.
Si quelqu'un peut me faire les remarques ou des suggestions d'amélioration de la rédaction, je l'en remercie d'avance.
J'espère que ce document sera considéré comme un ECM, faudrait-il le placer en pièce jointe en pdf que je n'ai pas de difficulté pour le faire.
Merci d'avance pour l'aide apportée.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Rédaction d'un histogramme

Message par rebouxo »

Pour ton exemple il s'agit plutôt d'un diagramme en barre (puisque c'est toujours tes rectangles ont toujours le même intervalle), il faudrait aller voir du côté de pst-bar qui fera cela très bien ou pst-plot et son environnement psgraph.
Pour mettre des légendes je ferais plutôt cela à coup de \uput ou \rput plutôt qu'avec \stackrel (c'est pas du mode math ?).

Je réponds vite fait à quelques interrogations :
avec pstricks tu peux modifier les échelles via xunit et yunit.
Pour les psframe voir pst-bar ou pst-plot (dans celle là tu a en plus une macro \pslegend...)

Bon cela dit pour un vrai histogramme (des rectangles dont l'aire est proportionnelle aux effectifs de classe d'amplitude inégale), je connais rien en pstricks. Pour des secondes, je ne mets pas d'axe vertical, puisqu'ici c'est l'aire des rectangles qui est important. Il doit y avoir moyen de moyenner avec la densité (la dessus je crois qu'il y a un truc tout fait avec asymptote) mais je ne saurais pas le faire...

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Rédaction d'un histogramme

Message par Francky »

Et ici on parle d'une version ... asymptote
viewtopic.php?t=10760
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: Rédaction d'un histogramme

Message par GMaths »

rebouxo a écrit :Pour ton exemple il s'agit plutôt d'un diagramme en barre (puisque c'est toujours tes rectangles ont toujours le même intervalle)
:shock:
Je n'ai pas regardé l'exemple dont il est question... mais s'il y est question d'intervalles (de même amplitude ou pas), cela s'appelle pour moi un histogramme.
Pas de notion d'intervalle pour moi dans un diagramme en barres.
Le critère de distinction pour moi est : axe gradué ou pas ?

Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Rédaction d'un histogramme

Message par Francky »

GMaths a écrit :Le critère de distinction pour moi est : axe gradué ou pas ?
+1

Je savais qu'il y avait bataille sur le sujet, et je n'avais pas d'avis.
Je crois que je suis d'accord avec GMaths, en variant le style : critère quantitatif ou qualitatif pour les abscisses.

D'un autre côté, c'est pas ça le troll du vendredi, hein ?
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem

kojak
Modérateur global
Modérateur global
Messages : 10378
Inscription : samedi 18 novembre 2006, 19:50

Re: Rédaction d'un histogramme

Message par kojak »

Francky a écrit : D'un autre côté, c'est pas ça le troll du vendredi, hein ?
C'est demain vendredi :lol:
Pas d'aide par MP.

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Rédaction d'un histogramme

Message par rebouxo »

Non, vous avez raison (zut encore un troll de mort :D ). Sauf que lorsque les intervalles ont tous la même amplitudes l'histogramme est franchement dégénéré, surtout si l'on met un axe vertical. Je ne vois d'ailleurs pas l'intérêt d'en faire faire aux élèves dans la mesure ou ils ne voient pas que l'aire est proportionnelle mais seulement la hauteur. Mais bon, c'est ma marotte à moi que j'ai :D

Et pour aller un peu plus loin :
  • pst-bar : diagramme en bâtons, données qualitatives
  • pst-plot : lui l'axes des abscisses est gradués.

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.