IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Couleur de graphique avec haplotypes


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 19
    Par défaut Couleur de graphique avec haplotypes
    Bonjour,

    Je me sent un peu bête de demander ça mais je ne parvient pas à trouver comment choisir les couleurs à afficher sur mes réseaux d'haplotypes.

    Je réalise des réseaux qui correspondent à des clusters. J'essaye de représenter les haplotypes avec des couleurs différentes selon la zone ou ils ont été trouvé.

    Je faisait donc cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pdf(file="C:/Users/.../graphique.pdf", width = 8, height = 15, pointsize = 10)
          plot(net, size = (TAB), fast =FALSE,scale.ratio = 30,show.mutation=1,pie=N[], col=rainbow(ncol(Had)), cex = 0.5,label=FALSE,main="Reseau d'haplotype")
          legend("bottomleft", colnames(Had), col=rainbow(ncol(Had)), pch=19, ncol=4, cex= 0.8)       
    dev.off()
    Ce scripts me permet d'obtenir des haplotypes avec des couleurs aléatoires pour les sites.

    J'aimerai que chaque sites ai une couleur que je choisi.

    (#CCFFFF","#0066FF","#0033FF","#3366FF"....
    -> Site1, Site2, Site3, Site4 ....

    J'ai donc procédé ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    scale_fill_metaz = c("#CCFFFF","#0066FF","#0033FF","#3366FF")
     
    pdf(file="C:/Users/.../graphique.pdf", width = 8, height = 15, pointsize = 10)
       haplotype <- plot(net, size = (TAB), fast =FALSE,scale.ratio = 30,show.mutation=1,pie=N[], col=scale_color_manual(values = c("#CCFFFF","#0066FF","#0033FF","#3366FF")),
       cex = 0.5,label=FALSE,main="Reseau d'haplotype")
       legend("bottomleft", colnames(Had),legend=c("Site1","Site2","Site3","Site4"),
       col=scale_fill_color, pch=19, ncol=4, cex= 0.8) 
    dev.off()
    Cette manière me permet de mettre les bonnes couleurs en légende mais le plot présente toujours les couleurs aléatoire.

    Je ne parviens pas à trouver de solution sur les forums.

    Auriez-vous une solution à me proposer ?

    Bien cordialement,

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Bonjour.
    scale_color_manual est une fonction de {ggplot2}, or ici le graphique n'est pas produit par les fonctions de ce package. D'où l'absence d'effet sur les couleurs.
    Peut-être que de proposer dans col, à la place de rainbow, un vecteur nommé comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c("Site 1"="#CCFFFF","Site 2"="#0066FF","Site 3"="#0033FF","Site 4"="#3366FF")
    permettra d'associer les catégories à des couleurs précises.
    Je n'ai pas testé.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 19
    Par défaut
    Bonjour,

    Merci de votre aide.

    J'ai procédé à votre manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    pdf(file="C:/Users/.../graphique.pdf", width = 8, height = 15, pointsize = 10)
       plot(net, size = (TAB), fast =FALSE,scale.ratio = 30,show.mutation=1,pie=N[], 
    col=c("Site1"="#CCFFFF","Site2"="#0066FF","Site3"="#0033FF","Site4"="#3366FF")
    , cex = 0.5,label=FALSE,main="Reseau d'haplotype")
       legend("bottomleft", colnames(Had), 
    col=c("Site1"="#CCFFFF","Site2"="#0066FF","Site3"="#0033FF","Site4"="#3366FF")
    , pch=19, ncol=4, cex= 0.8)       
    dev.off()
    Mais je me retrouve dans la même situation. Ma légende présente les couleurs que je souhaite associé aux bons sites. Par contre le plot n'affiche pas les bonnes couleurs. (Toujours couleur aléatoire)

    Bien cordialement,

  4. #4
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Il faudrait voir dans l'aide de la fonction plot que vous utilisez (qui n'est pas la fonction plot de base mais un plot.xxx avec xxx le type de votre objet "net") si l'option est bien col. Et peut-être y a-t-il des exemples de paramétrage.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 19
    Par défaut
    Bonjour,

    J'ai regardé comme vous me l'avez conseillé et le problème vient bien de là.

    Il ne s'agit pas de l'option col mais de l'option bg pour back ground.
    bg permet de colorier le fond des cercles.

    J'ai donc mis le vecteur de couleur avec bg et supprimer col et en faisant ainsi mon problème est résolu.

    Merci beaucoup de votre aide.

    Bien cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Graphique avec couleur évolutive
    Par Stevens.Georges dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2010, 11h47
  2. Couleurs pour les graphiques avec Matlab
    Par mansgueg dans le forum MATLAB
    Réponses: 1
    Dernier message: 24/06/2010, 16h27
  3. Graphique avec marqueurs de différentes couleurs
    Par hector2 dans le forum Scilab
    Réponses: 7
    Dernier message: 06/02/2009, 17h05
  4. Automatiser declaration graphique avec changement couleur
    Par stefsas dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 06/08/2008, 17h09
  5. Graphique avec couleurs dynamiques
    Par jblond dans le forum BIRT
    Réponses: 8
    Dernier message: 27/11/2007, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo