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 :

Utilisation de la fonction bar


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Utilisation de la fonction bar
    bonsoir
    j'ai un petit problème concernant la fonction bar qui trace les barres verticales
    en fait je veux construire une sorte d'empilement de couches de cette manière Nom : DR.png
Affichages : 460
Taille : 4,8 Ko

    Des barres de mêmes dimensions (je cherche aussi des barres de différentes dimensions selon les couleurs ! ^_^) avec deux couleurs différentes :
    merci d'avance

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

    Tu peux pour cela utiliser la fonction pcolor

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Demander de l'aide
    j'ai essayer avec la fonction bar et colormap mais j'ai pas faire l'alternance des couleurs : une barre bleu et une barre de couleur cyan!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x=(0:1:10);
    y=1;
    bar(x,y,'grouped');
    axis([2 12 0 1]);
    hold('on');
    colormap(cyan)

    heeeeeeelp

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 160
    Points
    53 160
    Par défaut
    C'est plus compliqué qu'il n'y parait :

    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
    x = 0:1:10;
    y = 1;
     
    figure
     
    nx = numel(x);
     
    b = bar(repmat(y,1,nx), 1);
     
    bb = get(b,'children');
    c = ones(nx,1);
    c(2:2:end) = 2;
    set(bb, 'facevertexcdata', c)
     
    axis tight
     
    colormap([0.71 0.87 0.90 ; 0.19 0.52 0.61])
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    c bien résolu
    merci infiniment DUT


  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    j'ai une autre question si vous le permettez :

    j'ai une structure périodique qui varie selon l'indice de réfraction haut et bas comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    %%%%%%%%%%%%%%%%%% indices de réfraction %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    n1=1.45;
    n2=2.3;
    %%%%%%%%%%%%%%%%%%%%structure du systeme: bragg%%%%%%%%%%%%%%%
    j_Iter=14;
    F1='BH';
    B1='H';
    for j=1:j_Iter+1
        if j==j_Iter+1
            break
        end
        eval(sprintf('B%d=strcat(B%d,F%d )',j+1,j,1));
    end
    p=length(eval(sprintf('B%d',j)));
    Ce code me donne la structure suivante:
    HBHBHBHBHBHBHBHBHBHBHBHBHBHBH


    Je voudrais que la variation de la couleur des barres sera suivant l'indice de réfraction c-a-d si on a H ça sera une couleur bleu si on a B ça sera la couleur cyan!!

    j'ai essayer de faire cette variation mais un message d'erreur s'affiche :

    Error using specgraph.barseries/set
    The name 'marker' is not an accessible property for an instance of class 'barseries'.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    j'ai essayé avec ce code :
    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
    29
    30
    31
    %%%%%%%%%%%%%%%%%% indices de réfraction %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    n1=1.45;
    n2=2.3;
    %%%%%%%%%%%%%%%%%%%%structure du systeme: bragg%%%%%%%%%%%%%%%
    j_Iter=6;
    F1='BH';
    B1='H';
    for j=1:j_Iter+1
        if j==j_Iter+1
            break
        end
        eval(sprintf('B%d=strcat(B%d,F%d )',j+1,j,1));
    end
    p=length(eval(sprintf('B%d',j)));
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    y = 100;
     
    for kk=1:p
        if (eval(sprintf('B%d(%d)',j,kk))=='H')
            bar(kk,y,'b');
            figure
     
        else
            if (eval(sprintf('B%d(%d)',j,kk))=='B')
                bar(kk,y,'c');
                figure
            end
        end
    end
     
    axis tight
    il me donne les barres colorées selon l'indice mais chaque barre dans une fenêtre a part

  8. #8
    Invité
    Invité(e)
    Par défaut
    Tous ces eval( sprintf(...) ) sont affreux, utilise un tableau de cellules à la place. Voir aussi ce sujet qui indique clairement que nommer de variables tel que tu le fais est une très mauvaise pratique.

    Ensuite sache que l'instruction figure, comme son nom l'indique, crée une nouvelle figure à chaque fois qu'elle est exécutée. Sa suppression et l'ajout de hold on au début devrait résoudre ton problème.

    PS : prend l'habitude d'indenter correctement ton code: Ctrl+A, Ctrl+I sur l'éditeur de MATLAB. Il est bien plus agréable et facile de le lire ainsi

Discussions similaires

  1. [LG]Utilisation de la fonction time
    Par kmitz dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2005, 14h05
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 15h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 15h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 13h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 23h50

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