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 :

Justifier les étiquettes dans un barplot horizontal


Sujet :

R

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut Justifier les étiquettes dans un barplot horizontal
    Bonjour,

    J'ai quelques difficultés pour bien positionner les étiquettes dans un diagramme en bâton horizontal.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X <- c(6,NA,16,12,NA)
    Etiquettes <- c("Ceci est ma première étiquette","Voici la seconde",NA,"Et enfin la quatrième étiquette",NA)
    par(omi=c(0,1.8,0,0))
    BP <- barplot(X, horiz=TRUE, axisname=FALSE)
    axis(side=2, tick=FALSE, las=1, at=BP, labels=Etiquettes)
    J'ai pu décaler le graphique vers la droite pour laisser la place aux étiquettes (c'est option par(omi=c(0,1.8,0,0))).
    Mais je ne parviens pas justifier mes étiquettes à gauche. Le graphique les justifie à droite.
    J'ai essayé le paramètre hadj=0 qui fait une justification à gauche, mais les étiquettes sont alors collées à l'axe alors que je voudrais qu'elles soient collées à la bordure de la marge.

    Est-ce que quelqu'un connaîtrait le moyen de faire ça ?

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Justifier les étiquettes dans un barplot horizontal
    Bonjour,

    Vous pouvez définir l'argument pos= pour décaler le texte. Pour la valeur à utiliser, c'est très empirique mais ça peut dépanner en attendant mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X <- c(6,NA,16,12,NA)
    Etiquettes <- c("Ceci est ma première étiquette","Voici la seconde",NA,"Et enfin la quatrième étiquette",NA)
    par(omi=c(0,1.8,0,0))
    BP <- barplot(X, horiz=TRUE, axisname=FALSE)
    axis(side=2, tick=FALSE, las=1, at=BP, labels=Etiquettes, hadj=0, pos=-9)
    Cordialement,

  3. #3
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Citation Envoyé par mgdondon Voir le message
    Vous pouvez définir l'argument pos= pour décaler le texte. Pour la valeur à utiliser, c'est très empirique mais ça peut dépanner en attendant mieux.
    Cordialement,
    C'est peut-être très empirique, mais ça fonctionne.
    J'avais déjà essayé ce paramètre pos=..., mais avec de trop petites valeurs, et ça ne me semblait pas convenir.
    Finalement si.
    Merci encore une fois

    Cordialement

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

Discussions similaires

  1. [XL-2010] Renvoie à la ligne automatique dans les étiquettes d'un graphique
    Par letudiant68 dans le forum Excel
    Réponses: 3
    Dernier message: 13/05/2014, 10h31
  2. Réponses: 2
    Dernier message: 04/09/2013, 10h11
  3. Réponses: 1
    Dernier message: 19/10/2011, 14h57
  4. [MySQL] Afficher les données dans un tableau html horizontal avec une seule requête au lieu de 6
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/10/2010, 11h13
  5. Réponses: 12
    Dernier message: 12/04/2010, 17h27

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