[Resolu] Mettre des couleurs dans un plotweb (package bipartite)

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

Margaux Julien
Messages : 2
Enregistré le : 18 Mai 2018, 07:39

[Resolu] Mettre des couleurs dans un plotweb (package bipartite)

Messagepar Margaux Julien » 18 Mai 2018, 08:48

Bonjour à tous,

J'utilise la fonction plotweb du package bipartite pour représenter des relations trophiques. J'ai un problème avec les couleurs, je voudrais que pour chacune des boites du haut, toutes les interactions soit de la même couleur que cette même boite. Autrement dit, chacune de mes boites supérieures auraient donc une couleur différente et toutes les interactions liées à chaque boite, la même couleur que la boite.

Pour ce faire, j'utilise le code suivant où x est un tableau de contingence, et pour les lignes avant le plotweb : j'ai essayé d'attribuer des couleurs à mes interactions à partir des sommes des colonnes de mon tableau de contingence. Pour la première colonne, si j'ai 3 interactions, mes 3 premières flèches sont de la même couleur etc... Sauf que ça ne fonctionne pas au final, la fonction a l'air d'attribuer les couleurs un peu au hasard.

Code : Tout sélectionner

bipart <- function(x)
  {somme <- data.frame(margin.table(x,2))
  names(somme) <- c("eff")
  write.table(somme$eff, "essai.txt", sep = ";", row.names = FALSE, col.names = FALSE)
  effP <- scan(file = "essai.txt")
  colP <- rep(rainbow(length(effP)), effP)
                plotweb(x,
                              method = "normal", arrow="up.center",
                              col.high = colP,
                              col.low = "black",
                              col.interaction= colP,
                              bor.col.interaction =colP,
                              bor.col.high=colP,
                              bor.col.low="black",
                              high.lablength = NULL, low.lablength = NULL, text.rot=90,
                              text.high.col="black", text.low.col="black",
                              low.lab.dis=0)
              }


Et voilà un extrait de mes données

atricapillum basilicorne blandulum carinatum confusum dubium
Cyperaceae 1 1 1 0 1 1
Juncaceae 1 1 0 1 1 0
Plantaginaceae 0 0 0 0 1 0
Poaceae 1 0 0 0 0 0
Typhaceae 1 0 0 0 0 0



Merci pour votre aide !



EDIT : J'ai finalement trouvé comment faire. La solution ici : https://stackoverflow.com/questions/504 ... -package-r

Retourner vers « Questions en cours »

Qui est en ligne

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