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 :

Plusieurs libellés sur l'axe des abscisses


Sujet :

R

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Doctorante
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Plusieurs libellés sur l'axe des abscisses
    Bonjour à tous,

    Je suis une nouvelle utilisatrice de R et j'aimerais faire dans un barplot un axe des abcisses du type de celui qui est dans l'image : Nom : Sans titre.jpg
Affichages : 2098
Taille : 26,2 Ko
    Avez vous une idée des lignes de commande que je dois entrer ? En fait l'idée serait d'entrer un libellé à l'axe x en dessous du libellé "classique" sans que ce soit le xlab="title". Par ailleurs, si je pouvais mettre un petit séparateur entre les libellés ce serait bien ...

    Merci de votre aide

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je te conseille d'aller voir la librairie ggplot2 et sa documentation. Elle est suffisamment complète et devrait répondre à tes besoins.

    Cordialement.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Doctorante
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse, j'ai regardé un peu ce que l'on peut faire avec ggplot 2, mais c'est tellement complexe que j'ai du mal à isoler les parties correspondant à mes besoins. Peut être auriez vous une idée pour orienter mes recherches ?

    Merci

  4. #4
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    À moi aussi au début ggplot2 m'a semblé compliqué, mais comme utilisateur de R, je trouve que c'est la meilleure bibliothèque graphique sous R. Tu peux faire beaucoup de choses. Ton graphique semble complet, c'est pour cela que je t'ai conseillé cette bibliothèque.

    Un lien vers des exemples de la bibliothèque qui semble pertinent par rapport à ta demande : Exemple

    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
     
    # Create a simple example dataset
    df <- data.frame(
      trt = factor(c(1, 1, 2, 2)),
      resp = c(1, 5, 3, 4),
      group = factor(c(1, 2, 1, 2)),
      se = c(0.1, 0.3, 0.3, 0.2)
    )
    df2 <- df[c(1,3),]
     
    # Define the top and bottom of the errorbars
    limits <- aes(ymax = resp + se, ymin=resp - se)
     
    p <- ggplot(df, aes(fill=group, y=resp, x=trt))
    p + geom_bar(position="dodge", stat="identity")
     
    dodge <- position_dodge(width=0.9)
    p + geom_bar(position=dodge) + geom_errorbar(limits, position=dodge, width=0.25)
     
    p
    Le premier exemple de ggplot2 te permet à peu près de faire ce que tu veux. Il y a des choses que tu ne comprends pas dans cet exemple ?

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Doctorante
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Alors, par rapport au graphique que j'ai montré, je sais tout faire sans passer par ggplot2 (j'ai me suis débrouillée, mais c'est peut être plus simple par ggplot2, je regarderais quand j'aurais du temps), cad, barplot, les barres d'erreurs, ajouter des titres, les couleurs etc ... La seule chose que je n'arrive pas (encore) à faire c'est faire un axe des abscisses à deux niveaux comme dans celui de l'exemple. Pour le moment je fais mon graph avec mon axe à 1 niveau sous R et je le modifie sur power point (systeme D ...).

    J'aimerais donc trouver des lignes de commandes pour ajouter un niveau à l'axe des x car pour le moment j'arrive à modifier seulement 1 niveau de cet axe. Vous comprenez ?

  6. #6
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je suis curieux de voir comment tu t'y prends. Peux-tu donner un bout de code ? Cela permettrait peut-être aussi de t'aider.

    Cordialement.

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Doctorante
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Avec plaisir (petite fierté personnelle ^^) ! Voici mon code pour un histogramme avec la sd (pour la sem il faut rajouter une fonction, mais je peux vous montrer si vous le désirer).

    Mes données sont de la forme :
    no.....in.....out
    2......4......8
    4......0......1
    7......4......17
    9......6......12
    12....4......7
    4......3......2
    (etc)

    Et mon script après avoir chargé mes données est :

    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
    26
    27
    28
    #troisieme graph histogramme avec sd
    x11()
     
    mean<-c(mean(no), mean(in.), mean(out))
    graph<-barplot(mean, axes=F, col="royalblue", border="black",
    ylim = c(0,20), ylab="blablabla", cex.lab=1.5,
    space=1)
     
    # Label axis
    axis(1, labels=c("no", "in", "out"), at = graph, cex.axis=1.2)
    axis(2, at = seq(min(0), max(20), 2), cex.axis=1.2)
     
    box()
     
    # ajouter les sd
    std<-(c(sd(no), sd(in.), sd(out)))
     
    # Plot the vertical lines of the error bars at the midpoints
    segments(graph, mean-std, graph,mean+std,lwd=2)
     
    # Now plot the horizontal bounds for the error bars
    # 1. The lower bar
    segments(graph-0.08, mean-std, graph+0.08, mean-std, lwd=2)
    # 2. The upper bar
    segments(graph-0.08, mean+std,graph+0.08, mean+std, lwd=2)
     
    # ajouter les stats
    text(graph, (mean+std)+2, c("a", "b", "c"), font=3, cex=0.8)

    Ce qui me fait un graph comme cela :
    Nom : Sans titre.jpg
Affichages : 1776
Taille : 33,6 Ko

    Et donc en fait je réalise ce type de graph pour plusieurs temps et j'aimerais avec une légende en x du genre
    in out no......in out no......in out no
    .temps1........temps2........temps3

Discussions similaires

  1. [JpGraph] Echelle et labels sur l'axe des abscisses
    Par DiverSIG dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 05/10/2009, 17h58
  2. [AC-2007] Ordre des données sur l'axe des abscisses.
    Par mimi_01 dans le forum IHM
    Réponses: 1
    Dernier message: 07/04/2009, 15h19
  3. Réponses: 2
    Dernier message: 05/08/2008, 17h43
  4. Réponses: 1
    Dernier message: 14/06/2007, 22h37
  5. Réponses: 1
    Dernier message: 24/05/2007, 17h02

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