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 à linté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')
Partager