Colors and plot Styles are not displayed in legend
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Colors and plot Styles are not displayed in legend



  1. #1
    turbulent

    Colors and plot Styles are not displayed in legend


    ------

    Bonjour tout le monde. J'ai un petit souci avec les styles et les couleurs des lignes qui n'apparaissent pas dans la légende. Merci de m'aider à résoudre ce problème.

    Code:
    clc;clear all;close all;
    %format short
    N=150;
    D=30;
    B=.01;
    L=200;
    deltax=L/N; 
    a=.1;
    dt=(a*deltax^2)/D; 
    b=B*(dt/(2*deltax));
    p=[2:N];
    x=[0:deltax:L];  
    colorstflex = 'bkgrmcy';
    plotStyle = {'s','*','-','o','^','-+',':'};
    legendInfo{1} = ['T = ' num2str(0)];
    t=0; g=0;
    plot(g,x,plotStyle{1},'color',colorstflex(1),'LineWidth',1.5,'MarkerSize',3),hold all;%on
    for i=2:7
      if i==2
        T=600/12;
      end
      if i==3
        T=600/6;
      end
      if i==4
        T=600/3;
      end
      if i==5
        T=600/2;
      end
      if i==6
        T=500;
      end
      if i==7
        T=600;
      end
      Ndt=round(T/dt); 
      for n=1:Ndt 
        t=t+dt;
        fn=g;
        fn(N+1)=0;
        g(1)=fn(2)-deltax;  
        
        g(p)=(a+b)*fn(p-1)+(1-2*a)*fn(p)+(a-b)*fn(p+1)+...
        ((b)/(2*deltax)).*((fn(p+1)-fn(p-1)).^2);
        g(N+1)=0; 
      end
      if  i>1 && i<8
        T=[0 50 100 200 300 500 600];
        colorstflex = 'bkgrmcy';
        plotStyle = {'s','*','-','o','^','-+',':'};
        plot(g(:),x,plotStyle{i},'color',colorstflex(i),'LineWidth',1.5,'MarkerSize',3);hold on
        legendInfo{i} = ['T = ' num2str(T(i))];hold all
      end
    end
    legend(legendInfo,"location", "southwest")
    hold off
    xlabel('f(x,T) (cm)')
    ylabel('x (cm)')
    xlim([-L 0])
    ylim([0 L])
    %set(gca,'view',[0 -90])
    set(gca,"ydir","reverse")

    -----
    Dernière modification par JPL ; 22/01/2022 à 18h44. Motif: Suppression d’une balise inutile

  2. #2
    umfred

    Re : Colors and plot Styles are not displayed in legend

    https://fr.mathworks.com/matlabcentr...-in-a-for-loop
    retirer le "hold on" sur la ligne du plot et mettre à la place if j==1, hold on, end (on ne fait le hold on que sur la 1ère itération)

  3. #3
    turbulent

    Re : Colors and plot Styles are not displayed in legend

    [QUOTE]Merci pour cette contribution, mais malheureusement ça ne marche pas. Car ma fonction est une fonction à 2 variables discrètes: n et p. i est le nombre de plots que je dois avoir. Y a-t- il une autre solution? Merci pour toute contribution.

  4. #4
    umfred

    Re : Colors and plot Styles are not displayed in legend

    le problème c'est ton 1er plot: g est à ce moment un scalaire, et non pas un vecteur comme par la suite (dans la boucle et les autres plots).
    Il faut modifier g=0 en g=zeros(1,N+1)
    Tu peux aussi retirer les "hold on" et "hold all" dans ta boucle; le premier "hold on" suffit

  5. A voir en vidéo sur Futura
  6. #5
    turbulent

    Re : Colors and plot Styles are not displayed in legend

    Merci umfred, c'est génial.

  7. #6
    turbulent

    Re : Colors and plot Styles are not displayed in legend

    Une dernière question sur ce code: Comment faire pour ajouter une deuxième légende spécifique pour une deuxième série (statistiques) de plots (P1, P2,....P7) afin de la la comparer à la série analytique déjà tracée. Merci.

  8. #7
    umfred

    Re : Colors and plot Styles are not displayed in legend

    a priori avec une seconde ligne legend(..) après avoir créer un nouvel axe; on trouve des exemples en cherchant sur ton moteur préféré "matlab 2nd legend"
    https://stackoverflow.com/questions/...plot-in-matlab

  9. #8
    turbulent

    Re : Colors and plot Styles are not displayed in legend

    Merci pour la réponse. Cette histoire de légende m'a trop fatigué, j'ai laissé tomber, car je me suis contenté de les rassembler dans une seule légende.

Discussions similaires

  1. Problème de login sur skype ( et league of legend)
    Par invite3da30dfa dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/10/2013, 18h25
  2. [Divers] COMMANDE LIVING COLORS PHILIPS 1ère Génération
    Par inviteafb04edb dans le forum Dépannage
    Réponses: 0
    Dernier message: 04/07/2011, 13h19
  3. TV LCD Legend de Prima Model:LEC4017 Ecrant noir.
    Par invite33c8029a dans le forum Dépannage
    Réponses: 1
    Dernier message: 02/08/2006, 02h41
  4. scollbar colors et firefox
    Par Keorl dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 11/02/2006, 23h11