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 :

[matplotlib] dessiner graph avec pcolor


Sujet :

Calcul scientifique Python

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 78
    Points
    78
    Par défaut [matplotlib] dessiner graph avec pcolor
    Salut a tous,

    J'ai un probleme, j'ai 3 tableaux, disont tab_mass, tab_time et tab_intensité ( de meme longueur).
    Je trace avec graph
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(tab_mass,tab_time)
    , mais je voudrait que en fonction de tab_intensité les point tracé est une couleur différente.
    En gros pour chaque point du graphique on va avoir une intensité associé que je voudrait retranscrire dans le graphique par des couleurs.

    J'ai bien essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pcolor(tab_mass, tab_time , tab_intensité )
    , mais cela ne marche pas.

    Merci d'avance de votre aide.
    Bonne journée

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 78
    Points
    78
    Par défaut
    Est ce qu'il faudrait pas transformé le tableau "tab_intensité" en tableau 2D, et si oui comment?

  3. #3
    Membre habitué Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 131
    Points
    131
    Par défaut
    tu peux le faire "a la main"

    tu crees une fonction : maPalette
    qui a partir d'une valeur numerique te donne une couleur.
    soit par niveaux (interval)
    soit par parametrage
    soit par la methode que tu veux...

    ensuite, il te suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    plot(tab_time, tab_mass, color=maPalette(tab_intensite), marker='o', ...)
    et si la fonction plot n'accepte pas de vecteur de couleur,
    tu peux faire comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for k in range(len(tab_time)):
      plot([tab_time[k]], [tab_mass[k]], color=maPalette(tab_intensite[k]), marker='o', ...)
    la deuxieme methode risque d'etre plus lente, mais je te garantie qu'elle fonctionne.


  4. #4
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 78
    Points
    78
    Par défaut
    Merci,Je vais tester ca et je te tien au courant

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

Discussions similaires

  1. Dessiner un graphe avec iTextSharp ou PDFSharp
    Par 3aychoucha dans le forum C#
    Réponses: 1
    Dernier message: 19/01/2011, 13h49
  2. Ruby dessiner des graphs avec une abscisse irrégulière
    Par lordofcastle dans le forum Ruby
    Réponses: 2
    Dernier message: 25/11/2009, 09h58
  3. comment dessiner un graphe avec C++
    Par tahinachou dans le forum Windows
    Réponses: 3
    Dernier message: 28/06/2007, 17h36
  4. Réponses: 5
    Dernier message: 11/06/2007, 22h06
  5. Dessiner un graph avec wxwidget.
    Par EJekT4 dans le forum wxWidgets
    Réponses: 1
    Dernier message: 26/10/2006, 15h07

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