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 :

Colorer des points selon une condition


Sujet :

R

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 96
    Points : 72
    Points
    72
    Par défaut Colorer des points selon une condition
    Bonjour,

    je dispose d'un tableau de données contenant une colonne remplie de 0 et 1.
    J'aimerai colorier les points de mon plot en fonction des valeurs de cette colonne, quelqu'un aurait une idée de la marche à suivre ?

    Merci à vous

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Voici ce que j'aurai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    x=c(0,1,1,0,1,0,1)  # Pour exemple
     
    ima=NULL
    z=seq(1,length(x))
    k=1
    for(i in 1:length(x)){
    if(x[i]==1){
        ima[k]="blue"
        k=k+1
     
               }
    else{
      ima[k]="red"
      k=k+1
              }
                        }
    plot(x)
    points(z,x,col=ima)
    En espérant que ça t'aide.
    A bientôt.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Plus simple, pour un tableau qui s'appellerait tab et une colonne qui s'appellerait vals :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(..., col = c("blue", "red")[as.factor(tab$vals)],...)
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 96
    Points : 72
    Points
    72
    Par défaut
    ça fonctionne très bien merci

    Bonne soirée

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur Statisticien
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Statisticien

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    j'ai essayé votre solution avec trois variables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(TEST[,4],TEST[,1],type = "l", col = c("green","black","orange","red")[as.factor(TEST[,3])])
    Les deux premières (1 et 4) construisent ma courbe et la 3 sépare ma population selon 4 modalités.
    Or lorsque je lance cette commande, j'obtiens toujours une courbe de la deuxième couleur renseignée (j'ai testé avec plusieurs couleurs).

    Auriez-vous une piste ?

    Merci d'avance

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur Statisticien
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Statisticien

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Je réponds seul finalement, ayant mis l'argument on ne parle plus de points mais d'une ligne donc la coloration multiple n'est plus possible.

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

Discussions similaires

  1. parcourir une liste et supprimer des éléments selon une condition
    Par jean-pat dans le forum Général Python
    Réponses: 17
    Dernier message: 17/03/2017, 22h07
  2. Supprimer des lignes selon une condition
    Par j0joo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/03/2014, 14h40
  3. Fusionner des groupes selon une condition
    Par TCHdvlp dans le forum Jasper
    Réponses: 0
    Dernier message: 12/04/2012, 15h19
  4. Supprimer des doublons selon une condition
    Par chloe44 dans le forum SAS Base
    Réponses: 4
    Dernier message: 04/04/2012, 10h28
  5. Compter des éléments selon une condition
    Par oli43 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 26/08/2009, 11h47

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