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

Calcul scientifique Python Discussion :

degradé de couleurs et contourf() avec matplotlib


Sujet :

Calcul scientifique Python

  1. #1
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut degradé de couleurs et contourf() avec matplotlib
    Bonjour

    je suis tout novice en la matiere.

    cependant, j'aurais voulus savoir comment etablir un degradé de couleurs sur la carte ainsi que sur la colorbar entre les differentes courbes generées à partir de la fonction contourf()

    voici mon example:

    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
    #!/usr/bin/env python
     
    from __future__ import division
    from pylab import *
     
    Z = [[1,2,3,0],
    	[1,2,3,4],
    	[1,4,4,4],
    	[1,2,3,1],
    	[1,2,3,1]]
     
    im = imshow(Z, cmap=cm.jet, extent=(0,800,800,0))
    c = contourf(Z);
    colorbar()
    im.set_interpolation('bilinear')
    savefig('pcolor_demo')
    show()
    j'obtiens le resultat suivant (voir la piece jointe)

    Quelles fonctions dois-je rajouter ?

    Merci
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    En fait, l'exemple ci dessus est vraiment tout simple.
    je dispose d'une matrice beaucoup plus grosse.
    Je lui affecte exactement le même script et je retravaille l'image générée par matplotlib avec php gd pour en obtenir le résultat suivant (pièce jointe).
    Le résultat est quasiment celui que me l'on demande mais mon responsable me demande un dégradé entre les différentes courbes.

    Suis-je parti sur de bonne base ?
    quelqu'un peut-il m'éclaircir ?
    dois-je appliquer des paramètres à la fonction contourf() ?

    merci
    Images attachées Images attachées  

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Faudrait peut-être utiliser des nombres flottants ?

  4. #4
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    En fait, j'utilise deja des nombres flottants.
    L'exemple de la matrice de mon premier post est une matrice avec des nombres totalement arbitraire.
    L'image produite dans le 2eme post decoule d'une matrice generée par un script allant piocher des valeurs dans une base de données et qui genere une moyenne non arrondie.
    Je me retrouve donc avec une multitude de nombres flottants constituant ma matrice.

    Je ré-edite ma question: dois-je appliquer des paramètres à la fonction contourf() ou ajouter une toute autre fonction dans mon script python ?

    merci

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut paramètres dans contourf
    Tu peux créer un axe pour ton contourf avec le nombre de niveaux que tu désires :
    import numpy as np
    axe_color = np.linspace(np.min(np.min(Z)),np.max(np.max(Z)),N) avec N le nombre de niveau que tu veux.
    Puis
    contourf(x,y,Z,axe_color).

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/06/2006, 09h12
  2. Faire un dégradé de couleur
    Par hasan dans le forum Java ME
    Réponses: 3
    Dernier message: 05/04/2006, 14h57
  3. dessiner un triangle avec degradé de couleurs
    Par xantares dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2006, 11h59
  4. Excel: Comment créer un degradé de couleurs dans cellules?
    Par Turlututuh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 00h04
  5. [TP]dégradé de couleur
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 10/11/2002, 23h02

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