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

Python Discussion :

Quoi utiliser afin de créer et afficher des histogrammes ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 49
    Par défaut Quoi utiliser afin de créer et afficher des histogrammes ?
    Bonjour,

    J'ai déjà fait quelque recherches et je suis un peu perdu... apparemment il y a une bibliothèque histograme mais il y a également une classe histogramme dans numpy.

    Pour les afficher, matplotlib explique qu'il faut mettre en entrée un histogramme mais lequel? y a-t-il une classe histogramme DANS matplotlib ?

    Je suis un peu perdu. Quel bibliothèque utiliser pour afficher? Et ensuite quelle classe d'histogramme faut-il utiliser? Auriez-vous quelque liens ou documents qui expliquent clairement les propriétés de cette classe et la bibliothèque à importer?

    Merci beaucoup

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Pour python2 tu as PIL et python-opencv

    Un exemple de chaque:
    PIL: http://bazaar.launchpad.net/~vincent....0/pilHisto.py
    Opencv: http://bazaar.launchpad.net/~vincent.../histogram2.py

    Pour python3, je cherche toujours ...

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,
    Un histogramme se construit à partir de la répartition des individus d'une population dans des catégories (intervalles disjoints)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ActivePython 3.2.2.3 (ActiveState Software Inc.) based on
    Python 3.2.2 (default, Sep  8 2011, 10:56:38) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy as np
    >>> from random import randint
    >>> population = [ randint(0,9) for _ in range(20) ]
    >>> hist, bins = np.histogram(population, bins=range(10))
    >>> hist 
    array(...)
    >>> bins
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    les "bins" indiquent que:
    - la catégorie #0 est l'intervalle [0,1[
    - la catégorie #1 est l'intervalle [1,2[
    - ...

    Pour afficher cet histogramme avec matplotlib, il va falloir écrire un code pour créer un diagramme de type "bar chart":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import matplotlib.pyplot as plt
    >>> plt.bar(bins[:-1], hist, width=1)    
    >>> plt.xlim(min(bins), max(bins))
    >>> plt.show()
    Avec le .hist de matplotlib, on peut faire tout çà plus rapidement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> plt.hist(population, bins=range(10))
    >>> plt.show()
    Pour répondre aux questions:
    Pour les afficher, matplotlib explique qu'il faut mettre en entrée un histogramme mais lequel? y a-t-il une classe histogramme DANS matplotlib?
    matplotlib est une bibliothèque pour visualiser des tableaux de données. pyplot.hist est un emballage pour créer et visualiser un graphe de type "bar chart".
    Quel bibliothèque utiliser pour afficher?
    numpy sait construire des histogrammes mais pour les afficher, on doit utiliser autre chose comme matplotlib (ou les bibliothèques mentionnées par VinsS)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2011
    Messages : 49
    Par défaut
    ok merci à tous ! ça fonctionne très bien avec matplotlib. j'ai même pu faire des trucs un peu particulier comme ajouter un second axe etc...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/12/2013, 09h39
  2. créer un tableau, afficher des données et plus
    Par NicoO_O dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/04/2007, 12h16
  3. Réponses: 6
    Dernier message: 21/09/2006, 16h08
  4. Réponses: 5
    Dernier message: 06/09/2006, 13h15

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