web-dev-qa-db-fra.com

Graphique en courbes à plusieurs axes dans Excel

Je recherche un graphique linéaire multi-axes similaire à celui de l'image ci-dessous (qui est un graphique javascript créé par amcharts).

Est-ce qu'Excel a une option pour dessiner des graphiques en ligne? Notez qu'il existe 3 axes Y et 3 graphiques linéaires vous permettant de comparer les données.

Est-il possible d'obtenir plus de 3 points de données, chacun avec un axe unique sur un graphique?

enter image description here

9
sam

Il est possible d’obtenir l’axe primaire et l’axe secondaire d’un côté du graphique en désignant l’axe secondaire de l’une des séries. 

Pour que l'axe principal se trouve du côté droit avec l'axe secondaire, vous devez définir sur "Élevé" l'option Etiquettes d'axe dans la boîte de dialogue Format d'axe pour l'axe principal.

Pour que l’axe secondaire se trouve du côté gauche avec l’axe principal, vous devez définir sur "Bas" l’option Etiquettes d’axe dans la boîte de dialogue Format de l’axe pour l’axe secondaire.

Je ne connais aucun moyen d'obtenir un troisième ensemble d'étiquettes d'axe sur un seul graphique. Vous pouvez utiliser des étiquettes d'axe et des graduations avec des zones de texte et des lignes, mais il serait difficile de tout aligner correctement.

Le chemin le plus réalisable est celui suggéré par zx8754: Créez un deuxième graphique en désactivant les titres, les axes de gauche, etc. et posez-le sur le premier graphique. Voir ma maquette très grossière qui n'a pas encore été affinée.

three axis labels chart

10
chuff

L'image que vous avez montrée dans la question est en réalité un graphique créé avec JavaScript. Il est en fait très facile de tracer un graphique multi-axes en JavaScript à l'aide de bibliothèques tierces telles que HighChart.js ou D3.js. Ici, je propose d’utiliser le complément Funfun Excel qui vous permet d’utiliser JavaScript directement dans Excel afin que vous puissiez tracer un graphique comme vous l’avez montré facilement dans Excel. Ici, j'ai créé un exemple d'utilisation de Funfun dans Excel. 

 enter image description here

Vous pouvez voir dans ce graphique que vous avez un axe de précipitations sur le côté gauche et deux axes de niveau de température et de pression de mer sur le côté droit. C'est également une combinaison de graphique à courbes et à barres pour différents jeux de données. Dans cet exemple, avec l'aide du complément Funfun, j'ai utilisé HighChart.js pour tracer ce graphique. 

Funfun dispose également d'un éditeur en ligne dans lequel vous pouvez tester votre code JavaScript avec vos données. Vous pouvez vérifier le code détaillé de cet exemple sur le lien ci-dessous. 

https://www.funfun.io/1/#/edit/5a43b416b848f771fbcdee2c

Edit: Le contenu du lien précédent a été modifié, j'ai donc posté un nouveau lien ici. Le lien ci-dessous est le lien d'origine https://www.funfun.io/1/#/edit/5a55dc978dfd67466879eb24

Si vous êtes satisfait du résultat obtenu dans l'éditeur en ligne, vous pouvez facilement charger le résultat dans Excel en utilisant l'URL ci-dessus. Bien sûr, vous devez d’abord insérer le complément Funfun à partir de Insérer - Mes compléments. Voici quelques captures d'écran montrant comment vous pouvez le faire. 

 enter image description here

 enter image description here

 enter image description here

Disclosure: je suis un développeur de Funfun

4
Chuan Qin

Il existe un moyen d'afficher 3 axes Y voir ici .

Excel prend en charge l’axe secondaire, c’est-à-dire uniquement l’axe 2Y. Une autre solution consisterait à tracer le troisième séparément et à le superposer au-dessus du graphique principal.

2
zx8754

Une alternative consiste à normaliser les données. Vous trouverez ci-dessous trois ensembles de données avec des plages très variables. Dans le graphique du haut, vous pouvez voir la variation d'une série clairement, d'une autre moins clairement et de la troisième pas du tout.

Dans la deuxième plage, j'ai ajusté les noms de série pour inclure la plage de données, en utilisant cette formule dans la cellule C15 et en la copiant dans D15: E15.

= C2 & "(" & MIN (C3: C9) & "à" & MAX (C3: C9) & ")"

J'ai normalisé les valeurs de la plage de données en utilisant cette formule en C15 et en le copiant dans toute la plage C16: E22.

= 100 * (C3-MIN (3 $ C: 9 $ C))/(MAX (3 $ C: 9 $ C)) -MIN (3 $ C: 9 $ C))

Dans le deuxième graphique, vous pouvez voir une tendance: toutes les séries ont un minimum en janvier, atteignent un sommet en mars et chutent à un niveau moyen-faible en juin ou en juillet.

Vous pouvez modifier la formule de normalisation selon vos besoins:

= 100 * C3/MAX (3 $ CA: 9 $ CAN)

= C3/MAX (3 $ CA: 9 $ CAN)

= (C3-MOYENNE (3 $ C: 9 $ C))/STDEV (3 $ C: 9 $ C)

etc.

Normalizing Data

2
Jon Peltier

En prenant la réponse ci-dessus à titre indicatif;

J'ai créé un graphique supplémentaire indiquant les "heures travaillées par mois", puis je l'ai copié/collé comme une "image liée" à utiliser sous mes autres graphiques. En d'autres termes, je copie mes graphiques existants collés sur l'image liée créée à partir de mon nouveau graphique avec le nouvel axe. Etant donné qu'il s'agit d'une image liée, il est toujours mis à jour.

Cependant, simplifiez-vous la vie, assurez-vous de copier un graphique existant pour construire votre graphe «image», puis supprimez la série ou modifiez la source de données selon vos besoins en tant qu'axe supplémentaire. De cette façon, vous n'aurez pas à vous soucier de redimensionner.

Les résultats n'étaient pas trop mauvais compte tenu de ce que je voulais réaliser; essentiellement une liste de barres de fréquence d'incidents, avec une ligne de bande de roulement de performance, puis une «toile de fond» solide d'heures travaillées.

Merci au gars ci-dessus pour l'idée!

0
Richard Hilder

La meilleure solution (c'est peut-être la seule) solution consiste à utiliser Google feuilles . Je ne sais pas si elle parcourt comme prévu ou non, mais vous pouvez certainement dessiner plusieurs axes. 

Cordialement

keerthan

0
keerthan kumar