Diagramme en toile d'araignée

Réaliser un diagramme de Kiviat ou diagramme en radar avec R

L'essentiel de cette page !

Il est possible de réaliser un diagramme en toile d'araignée alias diagramme en radar alias diagramme de Kiviat avec le logiciel R. Voici un exemple. Il faut, pour le réaliser, utiliser la librairie fmsb.

Le tracé du diagramme se fait avec la commande radarchart().

Diagramme de Kiviat avec le logiciel R project
Exemple de diagramme en radar réalisé avec le code ci-dessous.

1. Charger des données sous R - ici des notes données par des testeurs à 2 produits pour différents critères

# Dans l'exemple : 7 paramètres sont testés en analyse sensorielle : une note sur 10 a été attribué à 2 échantillons pour chaque paramètre.
# On attribue une liste de notes à chaque paramètre : la note maximale autorisée (10), puis la note minimale (0), puis les notes des 2 échantillons.
Odeur_fruite = c(10,0,5,6)
Odeur_boise = c(10,0,5.5,5.5)    
Txt_piquant = c(10,0,3,2)
Txt_astringent = c(10,0,1,2.5)
Gout_acidite = c(10,0,3.5,3)
Gout_sucre = c(10,0,5,8)
Gout_alcool = c(10,0,4,6)
# Compilation des données dans une matrice
data<-cbind(Odeur_fruite,Odeur_boise,Txt_piquant,Txt_astringent,Gout_acidite,Gout_sucre,Gout_alcool)
rownames(data) <- c("MAX","MIN","Individu 1","Individu 2")
View(data)

2. Attribuer des noms aux données (optionnel)

# Rédaction du titre des axes du diagramme (\n permet les retours à la ligne)
labels = c("Odeur\nfruitée","Odeur\nboisée","Texture\npiquante","Texture\nastringeante","Goût\nacide","Goût sucré *","Goût alcoolisé")
# Les données sont mises en forme sous forme de tableau dont les colonnes sont nommées
colnames(data)<-labels 
datx = as.data.frame(data) ; datx  

3. Charger la librairie fmsb nécessaire à la réalisation d'un diagramme Kiviat.

install.packages("fmsb") # permet d'installer le package
library(fmsb)

4. Pour tracer le diagramme de Kiviat

radarchart(datx, axistype = 2, seg = 7, axislabcol = 1, plty=1,title = "Diagramme en radar")
# axistype : type de diagramme
# axislabcol : couleur de la note maximale
# cglty : type de traits de la toile : pointillés, lisse... etc. (ex : cglty = 3)
# pty = type de point (ex : pty=32)
# cglcol : couleur des traits constituant la toile (ex : cglcol = "grey")
# plwd : épaisseur du trait (ex : plwd = 3)
# pcol : couleur des traits de données (ex : pcol = c("red","blue"))
# plty : type de traits de données
# maxmin : permet d'afficher les min et max