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 :

Placements divers sur un graphique. [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut Placements divers sur un graphique.
    Bonjour à tous,

    J'ai quelques soucis avec une représentation graphique. Je dispose de deux courbes (valeurs_Imp1_normale et valeurs_Imp1) que je plot et de deux droites horizontale (y=seuil1 et y=seuil2) que je plot aussi sur les deux graph. Je souhaiterais pouvoir mettre un texte sur les droites seuil1 et seuil2 (qui sont représentées en rouge) et je voudrais que ce texte soit rouge également. Voici le 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
    figure(1)
     
    subplot(2,1,1)
    plot(valeurs_Imp1_normale)
    hold on
    plot([0 90000], [seuil1 seuil1],'r')
    hold on
    text(85000,seuil1-2,'seuil1')
    hold on
    plot([0 90000], [seuil2 seuil2],'r')
    hold on
    text(85000,seuil2+2,'seuil2')
    hold on
    title('Impédance typique normale')
    xlabel('indices')
    ylabel('valeurs impédances')
    subplot(2,1,2)
    plot(valeurs_Imp1)
    hold on
    plot([0 90000], [seuil1 seuil1],'r')
    hold on
    text(85000,seuil1-2,'seuil1')
    hold on
    plot([0 90000], [seuil2 seuil2],'r')
    hold on
    text(85000,seuil2+2,'seuil2')
    hold on
    title('Impédance après calcul itératif des seuils')
    xlabel('indices')
    ylabel('valeurs impédances')
    Cependant comme cela le texte est noir et il n'est pas bien placé comme en atteste la figure suivante :



    Donc comment le mettre en rouge et juste un peu au-dessus des droites rouges ?

    De plus je voudrais faire la chose suivante mais j'ignore si c'est possible simplement : je voudrais mettre en surbrillance, pour la première courbe par exemple, toute la partie du plan inférieure à la droite seuil1 dans une certaine couleur et de même toute la partie du plan supérieure au seuil2 dans une autre couleur. Pour être précis, je voudrais simplement changer la couleur du fond blanc des courbes : vert pour la partie inférieure à seuil1 et jaune pour celle supérieure à seuil2 par exemple. Est-ce réalisable ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Par défaut
    pour mettre en rouge, il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text(85000,seuil1-2,'seuil1','Color','r')
    pour ce qui est de la position, une petite lecture de l'aide me fait dire que les deux premiers arguments de la fonction text sont les positions x et y du texte. Il faut donc que tu remplaces seuil1-2 par une autre valeur, genre seuil1+3 ou je ne sais pas , à tester.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Tu peux aussi te servir de la propriété VerticalAlignment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text(...,...,...,'verticalalignment','bottom')

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Par défaut
    Pour tn autre requête, regarde ce que peut donner la fonction area(). en adaptant un peu je pense que ca peut marcher pas mal avec ce que tu veux.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut
    Merci Dombrai, effectivement j'ai seulement du ajuster un peu mieux les ordonnées pour obtenir la position voulue. Je ne connaissais pas la fonction area mais après avoir consulté l'aide, cette fonction semble faire un plot sur une partie d'une courbe, par exemple valeurs_Imp1 dans mon exemple. En fait le souci c'est que finalement ce que je veux faire est indépendant des courbes : j'ai par exemple besoin de colorer d'une certaine couleur le fond blanc pour tout ce qui est au-dessus du seuil2 et de même en dessous du seuil1. A la limite je n'ai pas besoin de compliquer la question avec mes courbes : je veux simplement partager le plan en plusieurs zones de couleurs différentes.

    J'ai toutefois essayer quelque chose comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    area(valeurs_Imp1(find(valeurs_Imp1>seuil1)),'g')
    Mais cela ne colorie pas en vert les valeurs de valeurs_Imp1 supérieures au seuil1. Cela revient au même que de faire plot à la place de area sauf qu'avec area la zone concernée est en quelque sorte zoomée. Bref, quoi qu'il en soit ce que je veux faire ne dépend que de seuil1 et seuil2 et non des courbes.

    Merci Dut, je me suis finalement débrouillé avec l'ajustement des ordonnées. Saurais-tu en revanche comment colorer le plan de trois manières différentes comme je l'expose un peu plus haut dans ce message ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Par défaut
    faut que tu fasses ton aera par sur tes valeurs impedance_trucmuche mais uniquements sur tes valeurs seuil.

    voici par exemple un joli petit drapeau allemand

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    figure(2001)
    Y = [1 1 1;
        1 1 1;
        1 1 1];
    X = [0 0 0;
        50 50 50;
        100 100 100;];
    h = area(X,Y);
    set(h(1),'facecolor',[255/256 255/256 52/256]);
    set(h(2),'facecolor',[1 0 0]);
    set(h(3),'facecolor',[0 0 0]);
    voila, en modifiant un peu (tu mets tes valeurs seuil1 et seuil2 dans la matrice Y par exemple), tu devrai pouvoir t'en tirer

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

Discussions similaires

  1. Zoom sur un graphique
    Par MeDioN dans le forum 2D
    Réponses: 9
    Dernier message: 16/01/2006, 11h42
  2. [MFC Visual C++]conseil sur affichage graphiques
    Par C++beginner dans le forum MFC
    Réponses: 6
    Dernier message: 10/01/2006, 06h47
  3. [VB.Net] Comment effacer des traits sur un graphique ?
    Par bert24 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2005, 14h20
  4. [CR 8.5] Attribution couleur sur un graphique
    Par Silvinho42 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 30/06/2005, 15h00
  5. Demandes d'informations divers sur SGBD
    Par AlexB59 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/05/2005, 12h41

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