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 :

Dégradé identique de couleurs sur graphique et colorbar


Sujet :

MATLAB

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 16
    Par défaut Dégradé identique de couleurs sur graphique et colorbar
    Bonjour,

    Je désire construire une carte sous forme d'un graphique 2D. J'arrive à le créer avec contourf et une colorbar. J'ai voulu forcer l'échelle de la colorbar (valeurs entre -6 et +10) et j'y suis arrivé. Cependant sur le graphique, l'ensemble des couleurs (niveaux de gris) qui figurent sur la colorbar ne sont pas représentées sur le graphique, seules les couleurs associées au pas de la colorbar sont représentées.

    La carte que j'obtiens (en gris) et la même carte (en couleurs) construite avec un viewer netcdf (ce que j'aimerais obtenir avec Matlab) sont ci-jointes.

    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
    C=load('D1.dat') ; % donnees pour construire le fond de carte
     
    M=load('err_moy_D1.txt') ; % donnees a traiter
     
    Nlon=49 ; Nlat=25 ; Nvar=4 ;
     
    Lon=-60:2.5:60 ;
    Lat=75:-2.5:15 ;
     
    [X,Y] = meshgrid(Lon,Lat);
     
    v=-6:2:10 ;
    E=M(51:75,:) ;
    contourf(X,Y,E,v) ; grid ;
    hold on ;
    plot(C(:,1),C(:,2),'k') ; 
    colormap(flipud(gray)) ;
    xlabel('Longitude (°)') ;
    ylabel('Latitude (°)') ;
    axis([-60 60 15 75]) ;
    set(gca,'Clim',[-6 10]) ; colorbar ;
    J'aimerais donc avoir tous les niveaux de gris sur la carte (plusieurs couleurs entre chaque contour). J'espère m'être exprimé assez clairement !

    Merci d'avance,
    Aurélien

  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 318
    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 318
    Par défaut
    Essaie ceci :

    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
    C=load('D1.dat') ; % donnees pour construire le fond de carte
    
    M=load('err_moy_D1.txt') ; % donnees a traiter
    
    Nlon=49 ; Nlat=25 ; Nvar=4 ;
    
    Lon=-60:2.5:60 ;
    Lat=75:-2.5:15 ;
    
    [X,Y] = meshgrid(Lon,Lat);
    
    v=-6:2:10 ;
    E=M(51:75,:) ;
    contourf(X,Y,E,v) ; grid ;
    shading interp
    hold on ;
    plot(C(:,1),C(:,2),'k') ; 
    colormap(flipud(gray)) ;
    xlabel('Longitude (°)') ;
    ylabel('Latitude (°)') ;
    axis([-60 60 15 75]) ;
    set(gca,'Clim',[-6 10]) ; colorbar ;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 16
    Par défaut
    Merci dut mais ça ne marche pas, tout est blanc (voire résultat en PJ).

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 318
    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 318
    Par défaut
    Une alternative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    figure
    colormap autumn
     
    subplot(1,2,1)
    contourf(peaks(20),10);
    axis equal tight
     
    subplot(1,2,2)
    contour(peaks(20),10,'k-');
    hold on
    pcolor(peaks(20));
    shading interp
    axis equal tight
    view(2)
    J'ai pris l'exemple de la documentation pour rester générale

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 16
    Par défaut
    Merci beaucoup Dut, c'est OK en passant par contour puis pcolor et shading interp.

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

Discussions similaires

  1. [XL-2010] Couleur sur graphique à bulles
    Par olibn14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/07/2014, 16h40
  2. Auto-incrémentation de couleur sur graphique
    Par Marlan dans le forum MATLAB
    Réponses: 9
    Dernier message: 28/11/2011, 17h21
  3. Réponses: 3
    Dernier message: 13/07/2007, 14h59
  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. Réponses: 8
    Dernier message: 17/05/2005, 18h08

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