Graphique de transect de végétation avec répétition d'habitat

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

Guillaume DOUCET
Messages : 4
Enregistré le : 23 Juil 2007, 13:26

Graphique de transect de végétation avec répétition d'habitat

Messagepar Guillaume DOUCET » 21 Déc 2018, 09:39

Bonjour,

j'ai un soucis pour faire une représentation graphique d'un transect de végétation

voici les données
Image

j'arrive bien à avoir une représentation sous forme de diagramme mais je n'arrive pas à donner automatiquement une même couleur à tous les tronçons qui représente le même habitat (exemple Habitat.2 qui est présent 6 fois sur le transect).

Image

J'ai parcouru pas mal de galleries de graphiques réalisés sous R est testé pas mal de fonction (plot, barplot...) mais je n'ai pas trouvé la solution qui me permettrait de faire une belle représentation de ces graphiques.

si quelqu'un peut m'apporter un petit coup de main, je serai ravi.

Merci d'avance,

Guillaume
Guillaume

Eric Wajnberg
Messages : 656
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Eric Wajnberg » 21 Déc 2018, 09:48

Pas sûr de bien comprendre le problème.

Pourquoi ne pas simplement utilisez un argument du type "col=habitat" dans la commande graphique ?

Peut-être ceci aiderait si vous nous passiez des copies des lignes de codes que vous avez essayées.

Cordialement, Eric.

Guillaume DOUCET
Messages : 4
Enregistré le : 23 Juil 2007, 13:26

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Guillaume DOUCET » 21 Déc 2018, 10:40

voici le code pour le graphique qui produit bien le transect avec les bonnes longueurs mais avec des couleurs différentes pour chaque segment alors que j'aimerai bien avoir une couleur identique pour les segments représentant le même habitat (ex : segments 2, 4 et 5 ... qui correspond au même habitat [Habitat.2]

Code : Tout sélectionner

transect_1_noue = read.table("transects_vegetation_noue2018.csv", h=T , dec = "," , encoding="UTF-8")

T_transect = t(transect_1_noue[2])
colnames(T_transect) <- t(transect_1_noue[1])

nb.couleurs = nrow(transect_1_noue)

barplot(t(T_transect),col=rainbow(nb.couleurs) ,beside=F,xlab="longeur (m)", names = "Transect 1",
        las=1,horiz=T,ylim=c(0,15),xlim=c(0,210),space=0.2, legend=TRUE,
        cex.names=0.6, args.legend = list(x="topright", cex = 0.90))
Guillaume

Eric Wajnberg
Messages : 656
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Eric Wajnberg » 21 Déc 2018, 10:47

J'avais bien compris, je pense.

Votre argument "col=rainbow(nb.couleurs)" produit autant de couleurs que la valeur de nb.couleurs, qui - elle - correspond au nombre de lignes de transect_1_noue.

Je répète donc : Pourquoi ne pas utiliser simplement "col=transect_1_noue" ?

Eric.

Guillaume DOUCET
Messages : 4
Enregistré le : 23 Juil 2007, 13:26

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Guillaume DOUCET » 21 Déc 2018, 11:29

Eric Wajnberg a écrit :Je répète donc : Pourquoi ne pas utiliser simplement "col=transect_1_noue" ?
Eric.


Je ne vois pas quelle serait la synthaxe avec l'argument col=transect_1_noue. Ce serait toujours en utilisant la fonction barplot ?

J'ai réussi à trouver une solution à mon problème de coloration

Code : Tout sélectionner

habitats <- c(t(transect_1_noue[1]))

palette2 <- RColorBrewer::brewer.pal(length(unique(habitats)),name = 'Set2')
transect_1_noue$color <- palette[as.factor(habitats)]

barplot(t(T_transect),col=transect_1_noue$color ,beside=F,xlab="longeur (m)", names = "Transect 1",
        las=1,horiz=T,ylim=c(0,15),xlim=c(0,210),space=0.2, legend=TRUE,
        cex.names=0.6, args.legend = list(x="topright", cex = 0.90))



Il ne reste plus qu'à attaquer l'élimination des doublons dans la légende.
Guillaume

Eric Wajnberg
Messages : 656
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Eric Wajnberg » 21 Déc 2018, 12:28

Ne connaissant pas la structure de vos données, il est difficile (impossible) de vous répondre précisément.

Ce que je veux dire, c'est que - quelque part dans vos données - il y a un objet qui contient le nom des différents habitats (je pensais que c'était transect_1_noue, même c'est à vous de trouver de quel objet il s'agit), et de fournir à l'argument "col" (que vous utilisez déjà) le nom de cet objet. C'est tout (et plus simple que votre solution il me semble).

Cordialement, Eric.

Guillaume DOUCET
Messages : 4
Enregistré le : 23 Juil 2007, 13:26

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Guillaume DOUCET » 21 Déc 2018, 12:28

mission accomplie

Image

voici le code pour la légende :

Code : Tout sélectionner

legende_transect_1 <- unique(transect_1_noue[, c('habitat', 'color')])

barplot(t(T_transect),col=transect_1_noue$color ,beside=F,xlab="longeur (m)", names = "Transect 1",
        las=1,horiz=T,ylim=c(0,10),xlim=c(0,200),space=0.2, legend=FALSE,
        cex.names=0.6)

legend(150,7,legend = legende_transect_1$habitat, col = legende_transect_1$color, fill = legende_transect_1$color)


S'il y a plus simple pour avoir ce rendu, je suis évidemment preneur ;-)
Guillaume

Issaka Abakar Koumato
Messages : 13
Enregistré le : 24 Sep 2018, 22:00

Re: Graphique de transect de végétation avec répétition d'habitat

Messagepar Issaka Abakar Koumato » 30 Déc 2018, 09:31

Bonjour Monsieur Guillaume s'il vous plait c'est avec quel code qui vous à permis de mettre les années sur l'axe des abscisses ainsi que les légendes de chaque couleur en dehors du graphique? Aidez moi j'ai un projet que je travaille déçu ou je veux mettre les années sur l'axe des abscisses qui doivent commencer de 1980,1981,1983,1984,1985,1986.... jusqu'à 2017 et quelques valeurs de la température sur l'axe vertical. Mon cas j'ai 23 couleurs différentes et je veux mettre les 23 légendes de chaque couleurs en dehors du graphique.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité