13 votes

Comment faire un graphique radar en forme de tarte

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 diagramme circulaire, je veux la valeur réelle comme dans un diagramme radar.

Est-ce possible sans utiliser de macros ?

28voto

Andi Mohr Points 4100

Ce guide est basé sur Le tutoriel 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 soient de la même taille, mais soyons flexibles et ajoutons une colonne de poids de secteur. Par exemple, si vous voulez que "TRAVAIL" apparaisse comme une tranche de taille double/triple/quadruple, changez simplement le poids du secteur en 2/3/4, etc.

sector weights

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

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

Ensuite, nous devons calculer les angles de début et de fin que couvre chaque secteur. Ajoutez une colonne "Angle de départ". Dans la ligne supérieure, entrez 0, puis pour chaque ligne inférieure, faites référence à la cellule ci-dessus.

Dans une colonne "Angle d'arrivée", multipliez le chiffre cumulatif pour "% de 360" par 360.

Start/Finish Angles

L'astuce pour faire croire à un graphique radar qu'il s'agit d'un graphique circulaire consiste à créer des points de données pour chacun des 360 degrés d'un cercle.

Étendons notre tableau, avec une colonne pour chaque angle (en 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 et d'arrivée - et si c'est le cas, renvoyez la valeur pour cette ligne. Assurez-vous de copier ceci pour toutes les rangées et colonnes pour 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 pour qu'il soit vertical (transposition) 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 tableau. Pour des raisons de flexibilité, ajoutons une colonne "Chart Labels" 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 pouvez les personnaliser ici.

chart labels

Sélectionnez toutes les cellules sous les colonnes "Chart Labels" et 0-360 (G2:ND9 dans cet exemple). Insérez un graphique - sous les options de graphique radar, choisissez la dernière option - "Filled Radar". Vous obtiendrez ceci.

enter image description here

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

Activez les lignes de quadrillage horizontales majeures et mineures :

circular gridlines

Maintenant, notre graphique ressemble à ceci.

enter image description here

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

enter image description here

Pour obtenir les limites du segment radial, nous devons ajouter une nouvelle série. Définissez le titre comme étant la cellule C1 ("Poids du secteur") et les valeurs comme étant les lignes de la colonne C (C2:C9). Définissez les étiquettes de l'axe horizontal de la catégorie comme étant les étiquettes de votre graphique (G2:G9).

Changez le type de graphique pour cette nouvelle série en un graphique circulaire. Supprimez le remplissage des segments de tarte et ajoutez des bordures noires. Ajoutez des étiquettes de données pour la série circulaire, en sélectionnant la catégorie Nom au lieu de Valeur et en définissant la position sur Fin extérieure.

enter image description here

EDIT (30 septembre 2014) : Le cahier d'exercices est disponible en téléchargement ici comme demandé par Firee.

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

Le graphique se termine par un léger décalage dans le sens inverse des aiguilles d'une montre (comme on peut le voir sur l dernier graphique ci-dessus, le rouge ayant un écart à la verticale, mais couvrant la limite à 300 degrés. la limite à 300 degrés). Ceci est dû au fait que le graphique araignée est toujours (c'est-à-dire que 1 degré est tracé à 2, 2 à 3 et ainsi de suite),

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X