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 : adapter l'echelle d'une colorbar [Python 3.X]


Sujet :

Calcul scientifique Python

  1. #1
    Membre régulier
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Points : 104
    Points
    104
    Par défaut matplotlib : adapter l'echelle d'une colorbar
    Bonjour,

    J'ai ce code pour faire un scatter avec une colorbar
    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
    import matplotlib.pyplot as plt
    import numpy as np
     
    x = np.arange(1,21)
    y = np.linspace(0, 1.5, 20)
     
    # l'echelle de e va de 0 a 10 
    e = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] 
     
    plt.figure(figsize=(10,6))
    scatter = plt.scatter(x, y, c=e, cmap='plasma', s=70, marker='s', alpha=0.80)
    cbar = plt.colorbar(orientation="vertical")
    cbar.set_label('cbar label', rotation=90)
    plt.xlabel('x values')
    plt.ylabel('y values')
    plt.show()
    j'obtiens
    Nom : Capture.JPG
Affichages : 439
Taille : 24,9 Ko

    J'ai pas réussi à trouver (ou comprendre, ou faire fonctionner les exemples.. avec cbar.ax.set_clim, cbar.set_ticks, ...),
    comment imposer une échelle de 0 a 10 à la colorbar (même si toutes les data ont une valeur égale à 0 dans e)

    Merci pour votre temps.
    Jma

  2. #2
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Points : 311
    Points
    311
    Par défaut
    Bonjour,

    La solution se trouve dans la méthode scatter.
    Si tu jettes un œil à la documentation de scatter ,
    tu verras que dans les paramètres il y vmin et vmax :
    vmin, vmaxfloat, optional
    When using scalar data and no explicit norm, vmin and vmax define the data range that the colormap covers. By default, the colormap covers the complete value range of the supplied data. It is an error to use vmin/vmax when a norm instance is given (but using a str norm name together with vmin/vmax is acceptable).

    This parameter is ignored if c is RGB(A).
    Donc en rajoutant vmin = 0 et vmax = 10
    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
    import matplotlib.pyplot as plt
    import numpy as np
     
    x = np.arange(1,21)
    y = np.linspace(0, 1.5, 20)
     
    # l'echelle de e va de 0 a 10 
    e = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] 
     
    plt.figure(figsize=(10,6))
    scatter = plt.scatter(x, y, c=e, cmap='plasma', s=70, marker='s', alpha=0.80, vmin=0, vmax=10)
    cbar = plt.colorbar(orientation="vertical")
    cbar.set_label('cbar label', rotation=90)
    plt.xlabel('x values')
    plt.ylabel('y values')
    plt.show()
    Tu obtiens : Nom : test.png
Affichages : 414
Taille : 21,5 Ko

  3. #3
    Membre régulier
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Points : 104
    Points
    104
    Par défaut
    Impeccable.
    Réponse sur mesure et très pédagogique.
    Merci !!

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

Discussions similaires

  1. Fixer max et min d'une colorbar avec matplotlib
    Par yann_m dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 03/03/2012, 10h52
  2. [Matplotlib] Fixer l'échelle des couleurs dans une colorbar?
    Par Amika_M dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 08/09/2009, 16h42
  3. [Débutant] Comment forcer l'échelle d'une colorbar
    Par sydneya dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/07/2007, 12h00
  4. [Débutant] Comment adapter la taille d'une image ?
    Par taupeniveau dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/02/2006, 18h00
  5. : Adapter la taille d'une grille
    Par SteelBox dans le forum C++Builder
    Réponses: 3
    Dernier message: 31/07/2003, 07h08

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