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 :

Problème avec shading flat


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut Problème avec shading flat
    Bonjour à tous

    J’ai une matrice de valeurs et je veux mettre en avant certains valeurs de cette matrice sur la figure! du coup j’affiche seulement les couleurs entre deux valeurs max et min que je choisi

    ensuite je fais shading flat pour remplir l’intérieur vide des valeurs dépassant mes max et min avec la valeur des bords de contour

    c’est bien ce que je veux faire sauf qu’il y a d’autre points initialement en blanc car ces points ont des valeurs= NaN qui deviennent avec « shading flat » colorés avec la valeur la plus proche

    Je pense donc à trouver les NaN dans ma matrice initiale, après le traçage de la figure et de superposer ces valeurs en blanc


    J’ai essayé de condenser mon problème en travaillant sur un exemple simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mat=[5 4 5 5 ;3 7 NaN 4; 5 6 NaN 7; 3 5 8 9; 3 NaN 8 4; 5 5 2 7; 8 5 2 1]% je crée une matrice avec des NaN
    y=[5 6 7 8]
    x=[1 2 3 4 5 6 6]
    [yi,xi]=meshgrid(y,x);
    contourf(xi,yi,mat)% 
    hold on
     %jusqu’à là tout va bien et il y a des vides à l’intérieur de la figure
     
    shading flat
     %ici les vides se sont remplissent par la couleur de la valeur du contour

    Mon problème c’est que j’ai besoin de shading flat pour remplir les couleurs vides des valeurs qui dépassent le max et min que j’ai fixé mais pas pour remplir les NaN donc j’ai pensé à ajouter à la fin du programme plot une partie ou je dois remettre tous les NaN en blanc
    Et pour ça j’ai essayé ceci mais ça ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id=isnan(mat);
    [l,c]=find(id==1);
    nv_vect=NaN(1,length(c));
    scatter(l,c,nv_vect,'w')

  2. #2
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut
    j'ai mis en pièce jointe mes vraies figures car je ne sais pas si j'ai bien expliqué mon problème!
    dans la figure 'no shading' vous pouvez voir les blancs que je veux remplir par la valeur la plus proche
    dans la figure 'shading' c'est bien remplie mais les valeurs autour des îles (exmple en bas de la figure ) sont à la base des NaN que je souhaite laisser en blanc

Discussions similaires

  1. Lecture de flat file : problème avec #9
    Par Marc_3 dans le forum Débuter
    Réponses: 2
    Dernier message: 04/09/2014, 16h29
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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