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 :

Graphiques & légende


Sujet :

R

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut Graphiques & légende
    Bonjour,

    Je souhaiterais ajouter une legende sur mes graphiques mais pas sur le graphe car il n'y a pas la place, est-il possible de la mettre en titre ou en bas de page ou ailleurs ?

    D'autre part, je voudrais superposer deux courbes l'une sur l'autre, comment faire pour qu'on puisse voir les deux couleurs des courbes bien distinctes au lieu d'une seule ?

    Merci
    Did

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Points : 28
    Points
    28
    Par défaut
    Pour la deuxième question, on peut jouer avec les types de lignes et les couleurs(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lines(type='l/s/b...',lty=x,col=y,pch=z)
    ).
    Pour la première question, j'avais eu le même problème il y a un petit moment, j'avais pas trouvé de solution simple, j'avais créer moi même ma légende en créant un cadre et en dessinant et écrivant dedans il me semble, tout ce que je me rappelle c'était pas facile.
    Il existe peut être une autre manière plus simple.

  3. #3
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Bonjour,
    Citation Envoyé par did10 Voir le message
    Je souhaiterais ajouter une legende sur mes graphiques mais pas sur le graphe car il n'y a pas la place, est-il possible de la mettre en titre ou en bas de page ou ailleurs ?
    Il faut bien sûr un peu augmenter les marges, e.g.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    par(mar=c(5, 4, 6, 1) + 0.1)   # défaut : c(5, 4, 4, 1) + 0.1
     
    # la fonction qui plot'...
    puis, pour la légende, autoriser l'écriture dans les marges (paramètre xpd)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    legend(<x>, <y>, <legend>,..., xpd=NA)
    en choisissant <x> et <y> pour être dans la marge.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Merci, mais je ne vois pas quelles valeurs mettre pour <x> et <y> ?
    D'autre part, en agrandissant la marge je ne vois pas de difference

  5. #5
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par did10 Voir le message
    Merci, mais je ne vois pas quelles valeurs mettre pour <x> et <y> ?
    Ça dépend des plages de valeurs de ton graphique. Pour une légende au dessus, il faudra typiquement un <y> > max(y)

    Citation Envoyé par did10 Voir le message
    D'autre part, en agrandissant la marge je ne vois pas de difference
    T'as pas du trop essayer alors

    Bon, un p'tit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    par(mfrow=c(1, 2))  # 2graphiques dans la même fenêtre
    plot(1:2, 1:2, pch=16)
    legend(1, 2.1, legend=letters[1:4], pch=16, col=gray(c(0.2, 0.4, 0.6, 0.8)))   # une légende qui sort légèrement de la zone de graphique mais qui n'a pas le droit d'écrire à l'extérieur !
     
    par(mar=c(5, 4, 6, 1) + 0.1)   # On augmente la marge supérieure
    plot(1:2, 1:2, pch=16)
    legend(1, 2.3, legend=letters[1:4], pch=16, col=gray(c(0.2, 0.4, 0.6, 0.8)), xpd=NA)   # Et la légende dans la marge supérieure
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Ok merci j'ai compris le principe mais je dois faire ça sur 113 graphiques, en sachant qu'ils n' ont pas tous la même échelle, donc la galère ...

  7. #7
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par did10 Voir le message
    ...la galère ...
    Mais non, mais non... juste un peu d'automatisation :
    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
    20
    21
    22
    23
    24
    25
    > d <- legend("top", legend=letters[1:4], pch=16, col=gray(c(0.2, 0.4, 0.6, 0.8)), xpd=NA, plot=FALSE)   # On récupère les dimensions de la légende, sans l'imprimer
    > d
    $rect
    $rect$w
    [1] 0.2057927
    
    $rect$h
    [1] 0.2268908
    
    $rect$left
    [1] 1.397104
    
    $rect$top
    [1] 2.04
    
    
    $text
    $text$x
    [1] 1.528811 1.528811 1.528811 1.528811
    
    $text$y
    [1] 1.994622 1.949244 1.903866 1.858487
    
    
    > legend("top", legend=letters[1:4], pch=16, col=gray(c(0.2, 0.4, 0.6, 0.8)), xpd=NA, inset = -d$rect$h)  # On l'imprime décalée de inset de la marge du haut
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Ouais mais non Pitipoisson, c'est pas au point, des fois elle apparait pas, des fois elle mange le graph ...

    Merci quand même, je ferai sans

  9. #9
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par did10 Voir le message
    Merci quand même, je ferai sans
    Allons allons, faut pas perdre espoir...
    Envoie nous des exemples chiffrés, ça doit pouvoir s'arranger.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Voici deux exemples
    Images attachées Images attachées   

  11. #11
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Citation Envoyé par did10 Voir le message
    Voici deux exemples
    Euh, avec le code à côté, ce serait bien mieux.
    D'autant que là, tu ne dois pas chercher à mettre la légende dans les marges, t'as pas la place pour ça. Les exemples que je t'ai donnés, c'était dans un cadre bien précis (marge suffisante et libre, etc., j'avais pas assez d'éléments pour en faire davantage). Si tu en sors, il faut évidemment adapter.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Pas grave, c'est trop compliqué, ya pa moyen de le mettre en titre par hasard ? au moins on serait pas embeté avec les différentes echelles

Discussions similaires

  1. [Débutant] Docking graphique et légende
    Par Vincent32 dans le forum VB.NET
    Réponses: 1
    Dernier message: 11/04/2012, 09h56
  2. Réponses: 5
    Dernier message: 17/02/2011, 14h10
  3. graphique et légende
    Par Sarkal115 dans le forum Conception
    Réponses: 0
    Dernier message: 11/05/2010, 20h39
  4. Graphique : Affichage légende sur Axe
    Par npirard dans le forum Flex
    Réponses: 4
    Dernier message: 27/01/2010, 16h02
  5. [VBA-E] Graphique et Légende
    Par Currahee dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/09/2007, 11h04

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