Graphique sur base horaire pour plusieurs jours

mihego32 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Ce n'est pas vraiment une question mais plutôt une proposition de solution.

Comme beaucoup d'autres, j'ai buté contre ce que je considère comme une faiblesse flagrante d'EXCEL : l'impossibilité d'établir un graphique à base chronologique avec une unité inférieure à la journée ! Par exemple, ayant été récemment malade (et guéri maintenant!), je notais ma température et l'heure de la mesure et voulais visualiser son évolution sur un graphique. Bernique, pour MS, dès que l'un des axes a une base chronologique, même avec l'heure précise, les mesures se représentent alignées sur une ligne verticale par jour.

J'ai cherché sur de nombreux sites, trouvé des indications (OK sur les 24 heures d'une seule journée) mais rien de pratique, jusqu'à ce qu'une solution avec un tableau de données inséré dans un graphique me mette la puce à l'oreille.

Voici ma solution-bricolage que je souhaite partager, à vous de voir si elle vous convient.

J'aurais voulu joindre un fichier avec mon exemple mais j'ignore comment y arriver (conseils bienvenus). Mon tableur contient 2 feuilles :
1. Notes avec 1 lignes de titres et 3 colonnes
- A : Date & heure (mon format est "jjj j/m h:mm")
- B : valeurs séquentielles entières, proportionnelles aux valeurs en A (lire plus bas)
- C : T° : la température comme : 39,5
2. Graphique T° par heure

La formule en colonne B, p.ex. B2, est : =(A2*24)-1006958 où 1006958 correspond à la valeur de A2, la date et heure la plus ancienne 13/11 14:00, multipliée par 24 pour avoir une nombre-sériel entier. Dans toutes les lignes suivantes, je soustrais cette même valeur 1006958. Cela me permet d'avoir 0 en B2, 4 en B3 (même date mais 18:00) etc jusqu'à 330 en B50 pour le 27/11 à 8h. Ces valeurs me permettent d'avoir une base cohérente pour l'axe horizontal du graphique mais ces valeurs de 0 à 330 ne sont pas vraiment parlantes, n'est-ce pas ?

Le graphique a comme plage Notes!$B$1:$C$50 (sans la colonne A sinon le graphique redevient chronologique par jour), avec "T°" comme entrée de légende (série) et mes valeurs en colonne B comme étiquettes de l'axe horizontal. Comme il s'agit de températures, donc à évolutions constante, j'ai choisi dans la mise en forme de la ligne des points, l'option "Lissage" dans le style de trait.

J'ai augmenté la hauteur de la ligne 1 pour qu'elle corresponde à la hauteur de la zone de graphique et la largeur de la colonne A pour qu'elle s'aligne sur le bord gauche de la zone de traçage, à droite des libellés de température.

Ma première astuce est de masquer la colonne B dans la feuille "Notes" et du coup le libellé de l'axe horizontal n'apparaît plus dans le graphique, laissant la place au magnifique libellé créé ci-dessous.

La solution de l'insertion d'un tableau de données se révèle stérile parce que ne contenant rien de mieux que 2 lignes des valeurs peu utiles de 0 à 330 et des valeurs de température.

La deuxième astuce et la bonne (àmho/imho) est de sélectionner dans la feuille "Notes" la colonne A de A1 à A50 et de la copier dans la feuille du graphique en A2 en la transposant (càd passer de colonne à ligne).

Il reste à :
- changer l'orientation du texte (Format de cellule ==> Alignement : 90°)
- ajuster la largeurs des colonnes B à AX pour correspondre à l'échelle des intervalles sur l'axe horizontal ; dans mon cas 3,00.

Et voilà le travail ! Même à l'impression, les libellés de date ET d'heure sont là, lisibles et compréhensibles.

A vous !





Michel-H. G11
A voir également:

4 réponses

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

Tu peux poster ton exemple sur https://www.cjoint.com/
J'ai l'impression que ton problème aurait pu se résoudre en jouant sur l'échelle des abscisses. Je propose : https://www.cjoint.com/c/DLpouL7OtpS

Cordialement
0
mihego32 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour Zoul67,
Merci pour le conseil pour insérer mon exemple ; en fait, j'avais déjà vu ce lien sur cjoint et j'ai cherché sur le site pour savoir comment m'en servir. En vain et pas trouvé de FAQ. Je vais m'en occuper.
Très bon exemple. Mais personnellement, je n'ai trouvé aucun moyen de changer l'échelle des abscisses. Dès qu'une colonne de la plage est Date&heure, l'échelle est d'office en jour. Pas trouvé comment passer à une échelle avec des valeurs de nombre.
D'autre part, votre exemple contient des heures consécutives, avec un intervalle d'une heure, sans valeurs absentes. Est-ce que cela a un influence ?

Michel-H. G11
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
à la création du graphique, Excel m'a fait une graduation à sa sauce.
En faisant un clic droit sur l'axe des abscisses j'ai pu sélectionner "Format Axis" (désolé, j'ai un Excel anglais) et là on peut choisir la la valeur de X à l'origine et l'écart entre deux graduations consécutives.
cf. https://www.dummies.com/software/microsoft-office/excel/how-to-format-the-x-axis-and-y-axis-in-excel-2010-charts/ (désolé, encore en anglais)
0
mihego32 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   3 > Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention  
 
Zoul67,
Pas de souci avec l'anglais qui est ma seconde langue (du moins quand j'ai l'occasion de la pratiquer).
Bon j'ai suivi le lien des dummies et je n'ai pas les mêmes choix, même avec un Excel 2010 tous les deux ; peut-être la langue fait-elle des différences subtiles.
En fait, j'ai créé une copie de mon premier tableur, déplacé la colonne B des valeurs entières en C et modifié la plage du graphique en $A$1:$B$50 pour avoir les colonnes des dates-heures et des températures. J'ai également modifié le format de la date-heure pour avoir un nombre sériel avec 2 décimales.
Dans "format de l'axe" ==> "options d'axe", si je laisse "type d'axe" sur "dates sur les axes", je n'ai pas d'autre choix que des unités de date, avec jour comme intervalle, et les températures du même jour sont sur une seule ligne verticale avec des points à différentes hauteurs.
Si pour "type d'axe" je choisis "texte sur les axes", je n'ai pas de minimum et maximum à spécifier ; je n'ai que l'intervalle entre les graduations, pas de "valeur de X à l'origine" ni "écart entre deux graduations consécutives". En pratique, la distance horizontale sur le graphique est la même entre 13/11 18h et 13/11 19h (1h) qu'entre 13/11 22h et 14/11 9h (13h). Pas très correct !
Je constate que mon graphique dans l'exemple joit n'est pas mieux, la distance entre 155 et 116 est la même qu'entre 129 et 219 ! Donc le graphique ne se base pas sur les "vraies" valeurs obtenues par calul sur date-heure. D'ailleurs, je n'ai pas non plus de "valeur de X à l'origine" ni "écart entre deux graduations consécutives".
Donc tout faux, je recommence à chercher mais quand j'aurai de nouveau du temps libre ; la retraite, c'est fou ce que cela vous bouffe le temps libre !

Bref, je ne suis pas arrivé à faire un graphique "simple" avec les températures en ordonnée (axe vertical) et les nombres correspondant aux moments de prises de température en abscisse. Je vieillis !
Modif : je suis sur une bonne voie en utilisant comme graphique "nuage de points" et probablementen utilisant mon astuce #2 dans le messge initial pour avoir un libellé parlant !
Ma "bonne" solution dans un prochain message, parce que je suis arrivé à un graphique lisible, sans gymnastique Excellienne.
0
mihego32 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   3
 
Salut,

Voici mon exemple chargé sur cjoint :
https://www.cjoint.com/?DLppocYGP6o
Merci Zoul67, je crois bien que ce site me sera utile à l'avenir.

Michel-H. G11
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Votre exemple au#3 montre un bel effort d'adaptation pour un graphe type "courbe" avec X chronologique.
On peut préférer les contraintes liées à un nuage de points.
https://www.cjoint.com/?3LprtkHwET6

Une vieille solution consistait à répéter des caractères de texte.

Toujours avec un nuage de points on peut ajouter une série avec toutes les valeurs de Y égales à 35 et utiliser les étiquettes de données de cette série pour afficher des dates et heures qui seront plus faciles à positionner ( en bas). Cette série est rendue non-visible par sont format: Marque aucune Trait aucun.
0