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 :

Mettre un deuxième graphique sur un deuxième axe


Sujet :

R

  1. #1
    Membre du Club
    Homme Profil pro
    Data analyst
    Inscrit en
    Mars 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Data analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 81
    Points : 65
    Points
    65
    Par défaut Mettre un deuxième graphique sur un deuxième axe
    Bonjour à tous,

    Je souhaite construire une fonction qui me permet d'avoir un graphique les effectif en barre et dans le même graphique les taux de pénétrations et ceux pour plusieurs variables, voici ce que j'ai fait, mais je ne suis pas très convaincu du résultat

    fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    pen.graph <- function(x){
      tab<- prop.table(table(x,matable$variable_interet),1)
      tab2<- table(x,matable$variable_interet)
      res<-barplot(tab2,axes=F, xlab=(matable$TSLD_MT_XX_M120J), ylab=NA, xaxt="n")
      axis(side = 4,pretty(range(tab2),10))
      par(new  = T)
      res2<-with(plot(round(tab[,2],2), main = substitute(matable$x), type ="l", col="red", xlab=NA,ylab="% bad 120j", font.axis=1, cex.axis=1, las=1, xaxt="n"))
      axis(side=1, at = 1:nrow(tab), labels=row.names(tab))
      res;res2
    }
    par(mfcol=c(3, 4));graph<-lapply(matable, pen.graph); graph
    je souhaiterai reproduire ce graphe sur toutes les variable de ma_table :

    Nom : graph.PNG
Affichages : 158
Taille : 21,5 Ko

    En vous remerciant d'avance :-)

  2. #2
    Membre du Club
    Homme Profil pro
    Data analyst
    Inscrit en
    Mars 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Data analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Pour les intéressés:
    . Il suffit de d’écrire la fonction graphique line pour tracer le deuxième graphique et vous pouvez faire autant de line que de graphiques

  3. #3
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par draculla Voir le message
    Pour les intéressés:
    . Il suffit de d’écrire la fonction graphique line pour tracer le deuxième graphique et vous pouvez faire autant de line que de graphiques
    Pas aussi simple que ça malheureusement (sauf erreur de ma part ^^).
    L'astuce avec "line" fonctionne si les deux éléments ont la même échelle. Pour deux échelles différentes (et deux axes des "y"), c'est plus complexe il me semble.

    Je n'ai cependant pas d'exemple sous la main, désolée


    Cordialement,


    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  4. #4
    Membre du Club
    Homme Profil pro
    Data analyst
    Inscrit en
    Mars 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Data analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Bonjour
    Vous avez tout à fait raison lorsque les échelles sont différentes la fonction line n'est plus adaptée.
    Pour cela vous avez la fonction par(new=TRUE)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #premier graph 
    Plot (...) 
    par(new=TRUE)
    #deuxieme graph
    Plot(...)
    Et vous pouvez en mettre autant que vous voulez.
    Merci
    Bien à vous

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/09/2007, 10h44
  2. Installer Windows XP sur un deuxième pc
    Par elechi.ahmed dans le forum Windows XP
    Réponses: 2
    Dernier message: 11/12/2006, 23h14
  3. Connexion par TCP/IP impossible sur une deuxième instance
    Par sdelaunay dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/08/2006, 22h24
  4. tooltip s'affiche parfois sur le deuxième écran
    Par jdewalqu dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 25/08/2006, 10h35
  5. Mettre des données string sur les axes d'un graphique
    Par Aurore_atmo dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/07/2006, 11h57

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