web-dev-qa-db-fra.com

Comment faire un diagramme radar à secteurs

Je veux créer un graphique circulaire dans Excel avec 8 secteurs, comme dans cet exemple:

enter image description here

Au lieu de représenter le pourcentage comme dans un graphique à secteurs, je veux la valeur réelle comme dans un graphique à radar.

Est-ce possible sans utiliser de macros?

10
KirdApe

Cette procédure pas à pas est basée sur le didacticiel original d'Andy Pope ici. Disons que ce sont les données avec lesquelles vous commencez. Il y a un peu de manipulation de données à faire avant de créer le graphique.

values

Dans votre exemple, nous voulons que tous les secteurs aient la même taille, mais rendons les choses flexibles et ajoutons une colonne de pondération du secteur. Par exemple, si vous vouliez que "WORK" apparaisse comme une tranche double/triple/quadruple, il suffit de changer le poids du secteur en 2/3/4, etc.

sector weights

Nous devons maintenant calculer les proportions des tranches que chaque secteur doit couvrir. Ajoutez une colonne intitulée "% de 360" en divisant le poids du secteur par la somme de tous les poids du secteur.

=C2/SUM($C$2:$C$9)  

Ensuite, nous devons calculer les angles de début et de fin que chaque secteur couvre. Ajoutez une colonne "Angle de départ". Dans la ligne du haut, entrez 0, puis pour chaque ligne ci-dessous, indiquez la cellule ci-dessus.

Dans une colonne "Angle de finition", multipliez le chiffre cumulatif de "% de 360" par 360.

Start/Finish Angles

Maintenant, l’astuce pour créer un graphique radar consiste à créer des points de données pour chacun des 360 degrés d’un cercle.

Elargissons notre tableau avec une colonne pour chaque angle (ombré gris dans mon exemple). Pour chaque cellule, ajoutez une logique qui vérifie si l'angle de cette colonne est couvert par les angles de départ/final - et, le cas échéant, renvoie la valeur de cette ligne. Assurez-vous de le copier pour toutes les lignes et toutes les colonnes de 0 à 360 degrés.

=IF(AND(G$1>=$E2,G$1<=$F2),$B2,0)

enter image description here

(Remarque - Si vous utilisez Excel 2003 ou une version antérieure, vous devrez retourner ce tableau afin que le tableau soit vertical (transpose) car le nombre de colonnes utilisées par cette méthode est supérieur au nombre autorisé par les anciennes versions d'Excel.)

Nous pouvons maintenant penser au graphique. Par souci de souplesse, ajoutons une colonne "Étiquettes de graphique" entre l'angle final et les 0 à 360 degrés. Je vais simplement faire référence aux titres de la colonne A, mais vous voudrez peut-être les personnaliser ici.

chart labels

Sélectionnez toutes les cellules dans les colonnes "Etiquettes de graphique" et 0-360 (G2: ND9 dans cet exemple). Insérer une carte - sous les options de la carte radar, choisissez celle de la fin - "Radar plein". Vous aurez ceci.

enter image description here

Supprimez la légende et les étiquettes de données circulaires (surlignés en jaune). Cliquez avec le bouton droit de la souris sur l'axe restant et choisissez Format Axis. Définissez l'unité principale sur 10 (valeur maximale) et l'unité secondaire sur 1. Fermez la boîte de dialogue, puis supprimez les numéros d'axes du graphique.

Activer les quadrillages horizontaux principaux et mineurs:

circular gridlines

Maintenant, notre tableau ressemble à ceci.

enter image description here

Définissez l’épaisseur de la ligne principale de la grille sur 2 points et la valeur noire pour la bordure du cercle extérieur. Si vous souhaitez que les segments affichent les lignes de grille mineures, vous devez modifier la couleur de remplissage et définir la transparence de chaque segment (une transparence d'environ 20 à 40% devrait le faire).

enter image description here

Pour obtenir les limites du segment radial, nous devons ajouter une nouvelle série. Définissez le titre sur la cellule C1 ("Poids du secteur") et les valeurs sur les lignes de la colonne C (C2: C9). Définissez les étiquettes d’axe de catégorie horizontales pour être vos étiquettes de graphique (G2: G9).

Changez le type de graphique pour cette nouvelle série en un graphique à secteurs. Supprimez le remplissage des segments de la tarte et ajoutez des bordures noires. Ajoutez des étiquettes de données pour la série de camemberts, en sélectionnant le nom de la catégorie au lieu de la valeur et en définissant la position sur fin externe.

enter image description here

EDIT (30 septembre 2014): Le classeur est disponible pour le téléchargement ici comme demandé par Firee.

EDIT 2 (25 mars 2015): Mihajlo a souligné que cette technique pouvait être légèrement améliorée:

Le graphique se termine par un léger décalage dans le sens anti-horaire (comme le montre le dernier graphique ci-dessus, le rouge ayant un espace à la verticale mais recouvrant la limite à 300 degrés). Ceci est dû au fait que le diagramme en araignée a toujours un derrière (c’est-à-dire que 1 degré est tracé à 2, 2 à 3 et ainsi de suite),

Une solution rapide consiste à changer la formule pour l'angle d'arrivée (F2) de =360*SUM($D$2:D2) à =360*SUM($D$2:D2)+1 et à changer la formule du premier point de la dernière série pour qu'elle soit identique au dernier point de la dernière série (dans l'exemple ci-dessus, make formule de la cellule H9 égale à = ND9.

22
Andi Mohr