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

MATLAB Discussion :

superposer des histogrammes avec échelles différentes à partir de fichier dans une boucle [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut superposer des histogrammes avec échelles différentes à partir de fichier dans une boucle
    Bonjour,

    Malgré mes recherches et mes tentatives de plotyy je ne trouve pas la solution à ma question.
    Pour le moment, j'ai une boucle qui me trace 9 histogrammes sur une même fenêtre (grâce à subplot) , seul un type d'histogramme se fait (normal vu que les autres sont écrasés)(j'ai fait exprès d'enlever le hold on pour essayer de bidouiller mais pour le moment ça ne donne rien).


    BDV charge les fichiers .csv de mon rep1 et ensuite je fais un histogramme de fréquence de la colonne 8 de ces fichiers (un à chaque boucle). Pour V, je fais également un histogramme de fréquence.

    Je souhaite donc avoir size(B,1) (qui est égal à 9 ici) figures (sur la même fenêtre si possible) avec sur chacune 2 histogrammes. J'ai bien essayé un hold on mais sans succès... De plus, je souhaiterai que les 2 histogrammes aient une échelles des ordonnées différentes : j'ai donc pensé au plotyy mais impossible de trouver la bonne syntaxe avec mon code ...

    Voici le bout de code que j'ai fait jusqu'alors (j'ai enlevé mes tentatives de plotyy pour plus de clarté):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    x = 20:1:120;
    y1 = 0:500:5000;
    y2 = 0:1:5;
     
    for i=1:size(B,1)
        BDV = load(fullfile(rep1,list1(i).name),ext(3:end));    
        [m,yout]=hist(BDV(:,8),x,y1,20);
        [n,xout]=hist(V(:,i),x,y2,20);
        subplot(3,3,i),bar(xout,n,'r');
        subplot(3,3,i),bar(yout,m);
     
    end
    Merci d'avance de votre aide.

  2. #2
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Je viens de me rendre compte qu'avec le hold on cela superpose bien les 2 histogrammes : je ne m'en étais pas rendu compte étant donner que l'un est à peine visible comparer à l'autre.
    Quelqu'un aurait il une idée pour faire un plotyy à partir de mon code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    x = 30:1:150;
    y1 = 0:500:3000;
    y2 = 0:1:5;
     
    for i=1:size(B,1)
        BDV = load(fullfile(rep1,list1(i).name),ext(3:end));    
        [m,yout]=hist(BDV(:,8),x,y1,20);
        [n,xout]=hist(V(:,i),x,y2,20);
     
        subplot(3,3,i),bar(yout,m);
        hold on;
        subplot(3,3,i),bar(xout,n,'r');
    end
    Merci d'avance !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        axm = subplot(3,3,i);
        axn = axes('Position', get(axm, 'Position'));
        bar(axm,yout,m);
        bar(axn,xout,n,'r');
        set(axn, ...
            'YAxisLocation', 'right',...
            'YColor', [0 0.5 0],...
            'Box', 'off',...
            'Color', 'none')

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Merci beaucoup pour cette réponse aussi rapide, c'est exactement ça que je voulais !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 24/04/2014, 08h25
  2. Uniformiser une échelle sur des images avec résolutions différentes
    Par pjzbbsection dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 05/02/2013, 17h36
  3. [Débutant] histogrammes avec couleurs différents
    Par fraisa1985 dans le forum MATLAB
    Réponses: 4
    Dernier message: 12/09/2010, 18h04
  4. [Débutant] superposer des histogrammes sur la même figure
    Par MINSAT dans le forum MATLAB
    Réponses: 5
    Dernier message: 24/03/2009, 15h27
  5. Enregistrer des fichiers dans une boucle
    Par sebastien06 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/04/2008, 13h17

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