Ajouter une légende à un graphique s.distri (adegraphics)

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Nicolas Romillac
Messages : 30
Enregistré le : 07 Jan 2020, 13:53

Ajouter une légende à un graphique s.distri (adegraphics)

Messagepar Nicolas Romillac » 16 Mai 2023, 10:04

Bonjour à tous,
je me demande comment faire pour ajouter une légende à un graphique créé avec s.distri dans le package adegrapahics (objet de classe S2.distri)?

Par exemple, reprenant l'exemple donné dans le pdf du package:

data(rpjdl, package = "ade4")
xy <- ade4::dudi.coa(rpjdl$fau, scan = FALSE)$li
j <- c(1, 5, 8, 20, 21, 23, 26, 33, 36, 44, 47, 49)
dfdistri <- rpjdl$fau[, j]
coli <- colorRampPalette(c("blue", "red", "orange"))(49)[j]
s.distri(xy, dfdistri, ellipseSize = 1, starSize = 0, porigin.include = FALSE,
pellipses = list(col = coli, alpha = 0.3), plabels.cex = 0)

comment faire pour avoir une légende indiquant la signification de la couleur des ellipses (en pratique, les noms de colonne de dfdistri) ?
Je pense à une légende du type de celles obtenues avec la fonction 'legend' dans base, avec des petites boites remplies de couleur, et par exemple située en haut à gauche du graphique,

Merci d'avance!

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Ajouter une légende à un graphique s.distri (adegraphics)

Messagepar Logez Maxime » 16 Mai 2023, 10:55

Bonjour,

adegraphics est basé sur la librairie lattice. Donc il faut voir du côté de cette librairie et probablement de l'argument key (que je ne maîtrise pas du tout) pour se faire. Une autre possibilité, mais là c'est une conviction personnelle, c'est de prendre les sorties de l'analyse qui t'intéresse et de faire le graphique avec la librairie ggplot2.

Code : Tout sélectionner

s.distri(xy, dfdistri, ellipseSize = 1, starSize = 0, porigin.include = FALSE,
   pellipses = list(col = coli, alpha = 0.3), plabels.cex = 0, key=list(corner=c(0,1),
          lines=list(col=coli, lty=1, lwd=2),
          text=list(colnames(dfdistri))))
Cordialement,
Maxime

Nicolas Romillac
Messages : 30
Enregistré le : 07 Jan 2020, 13:53

Re: Ajouter une légende à un graphique s.distri (adegraphics)

Messagepar Nicolas Romillac » 16 Mai 2023, 11:42

Merci ça fonctionne avec Key!
Pour d'autres personnes à qui ce là pourrait etre utile:
-l'argument space positionne la légende hors du grpahe
-largument corner=c(x,y) positionne la légende dans l'espace du graphe, x et y prenant n'importe quelle valeur entre 0 et 1 (pas besoin d'utiliser les vrais valeurs des axes)


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité