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 :

Representation graphique coloree de profils


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Representation graphique coloree de profils
    Bonjour a tous,

    Je travaille actuellement sur des images satellite calibrees en termes "d'indice de Vegetation" - i.e, mes images ont des valeurs correspondant ~ a un taux de vegetation. J'ai des images tous les 16 jours, sur environ 7 ans.

    J'ai un programme me permettant de relever les valeurs sur ces images le long d'un profil.
    Je souhaiterai representer les valeurs des differents profils obtenus sur un meme graphique colore. L'idee serait de representer les valeurs par des couleurs et de suprposer les differents profils les uns sur les autres pour pouvoir etudier la variabilite interannuelle de la vegetation.

    J'ai mis en fichier joint une figure illustrant le type de graphique que je souhaiterai obtenir (expl : figure A = Profils des variations interannuelles de la vitesse le long d'un profil). Existe t'il une fonction Matlab permettant de faire ca?
    Merci pour votre aide.
    Images attachées Images attachées

  2. #2
    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 : 52 882
    Points
    52 882
    Par défaut
    Pourquoi ne pas stocker les valeurs des différents profils dans une matrice (une ligne par profil) ? Tu pourrais ensuite utiliser SURF.

    Si les profils n'ont pas tous le même nombre de valeurs, tu devras passer par une étape d'interpolation (avec INTERP1) pour obtenir un même nombre de valeurs.
    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)

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Merci pour l'idee! Je vais tester et je vous tient au courant!

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    J'ai teste le graphique avec la fonction surface, ca marche tres bien, merci!
    Juste un petit soucis...
    Mon graphique est sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surface(distance,jour,Valeurprofils)
    Les donnees "jour" sont des dates (espacees regulierement) sous le format jj/mm/aaaa. La fonction surface ne les reconnais pas ... comment puis-je les transformer en un format reconnaissable??

    Merci beaucoup!

  5. #5
    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 : 52 882
    Points
    52 882
    Par défaut
    Tu peux utiliser DATENUM pour convertir les dates en format numérique et DATETICK pour remplacer les valeurs numériques par leur équivalent en chaines de caractères sur le graphique
    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)

  6. #6
    Membre éprouvé
    Avatar de ol9245
    Homme Profil pro
    Chercheur
    Inscrit en
    Avril 2007
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Avril 2007
    Messages : 985
    Points : 1 158
    Points
    1 158
    Billets dans le blog
    1
    Par défaut
    Avec la fonction image ça marche aussi :

    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
    % fabrication des matrices X et Y
    x = 1:16:1600 ; % jours
    y = 1:100 ; % km
    [X, Y] = meshgrid(x, y) ;
     
    % fabrication d'un jeu de données
    Data = (200 ./ (100+Y)) .* sin(X.*(1/160*2*pi) + Y.*(1/100*2*pi)) ;
    Data = Data - min(Data(:)) ;
    Data = round(255 .* (Data ./ max(Data(:)))) ;
     
    % affichage
    image(Data) 
    legend('show')
    title('Evolution interannuelle du NDVI quilé joli')
    xlabel('distance le long du transect (km)')
    ylabel('date d''observation (jour)')
    "La vraie grandeur se mesure par la liberté que vous donnez aux autres, et non par votre capacité à les contraindre de faire ce que vous voulez." Larry Wall, concepteur de Perl.

Discussions similaires

  1. Représentation graphique
    Par Gébix dans le forum MATLAB
    Réponses: 7
    Dernier message: 25/11/2006, 22h25
  2. représentation graphique d' un tableau en c
    Par Le Lion dans le forum C
    Réponses: 5
    Dernier message: 05/07/2006, 22h46
  3. Representation graphique
    Par Landolf dans le forum 2D
    Réponses: 1
    Dernier message: 12/05/2006, 14h46
  4. Réponses: 2
    Dernier message: 14/11/2005, 15h47

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