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 :

[pandas.plot] Comment choisir les point à afficher sur l'axe des abscisses?


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Statisticienne
    Inscrit en
    Août 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Statisticienne

    Informations forums :
    Inscription : Août 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [pandas.plot] Comment choisir les point à afficher sur l'axe des abscisses?
    Bonjour à tous,

    Je souhaite faire un graphique avec en abscisse des dates (variable JOUR) et en ordonnée des valeur (variable NB_VALD).
    Il y a 31 ligne dans mon dataframe.
    Une ligne pour chaque jour de Janvier

    Je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    fig = plt.figure(figsize=(24,10))
    ax = fig.add_subplot(111)
    cam[cam.MONTH==1].plot(kind='line',x='JOUR',y='NB_VALD', ax=ax, grid=True, rot=30)
    legend = ax.legend(loc = 'upper left')
    legend.prop.set_size(20)
    plt.show()
    J'obtiens une figure mais seul 7 jours sont affichés sur mon axe des abscisse et même avec la grille, cela reste compliqué de lire ce graphique.
    J'aimerais afficher les 31 jour de Janvier....

    J'ai tenté de "jouer" avec le paramètre "xlim" mais ça n'a rien donné
    J'ai essayé de passer la variable JOUR en indexe mais cela ne change rien....
    Je ne m'en sors pas.... Si quelqu'un a une solution je suis preneuse ;-)

    Merci d'avance,
    Anne-Sophie

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 27
    Points : 9
    Points
    9
    Par défaut
    En lisant votre code, je n'arrive pas à déterminer ce qu'est la variable cam. Est un élément d'une classe, une liste ou le Dataframe dont vous parliez dans votre autre discussion? Si c'est ça, l’élément Month ne faisait pas parti ni des attributs ni des méthodes standards d'un dataframe, il serait peut être bon de montrer comment vous le construisez.

    Que vous donne un print de cam[cam.month==1]? Je sais que vous avez sûrement vérifier que vous obteniez bien les valeurs désirées, mais ça peut être utile pour comprendre le problème.

  3. #3
    Candidat au Club
    Femme Profil pro
    Statisticienne
    Inscrit en
    Août 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Statisticienne

    Informations forums :
    Inscription : Août 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bobnolit Voir le message
    En lisant votre code, je n'arrive pas à déterminer ce qu'est la variable cam. Est un élément d'une classe, une liste ou le Dataframe dont vous parliez dans votre autre discussion? Si c'est ça, l’élément Month ne faisait pas parti ni des attributs ni des méthodes standards d'un dataframe, il serait peut être bon de montrer comment vous le construisez.

    Que vous donne un print de cam[cam.month==1]? Je sais que vous avez sûrement vérifier que vous obteniez bien les valeurs désirées, mais ça peut être utile pour comprendre le problème.
    Re-bonjour,

    Cam est un dataframe.
    Il représente la station Cambronne de la ligne 6 ;-)

    Il contient les colonnes:
    JOUR allant du 1er Janvier 2015 au 31 Décembre 2015
    MONTH = mois de l'année. Ici je prends MONTH == 1 car je souhaite ne regarder que le mois de Janvier
    NB_VALD = le nombre de validation de passe navigo à la station cambronne au jour se trouvant dans la colonne JOUR

    Du coup cam[cam.month==1] est un dataframe définis comme ci-dessus mais avec la var JOUR allant du 1er Janvier 2015 au 31 Janvier 2015.
    31 jours.

    Je voudrais donc voir apparaître sur mon axe des abscisses 31 jours....
    Mais mon plot ne m'en affiche que 7....

    Anne-Sophie

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2015
    Messages : 27
    Points : 9
    Points
    9
    Par défaut
    D'accord, donc j'avais bien compris ce qu'était cette variable.

    Je ne suis pas sur que ça fonctionne, size(cam[cam.month==1]) donne bien 31? Je sais que c'est triviale comme vérification, mais j'ai tellement souvent vécu des erreurs sur des choses triviales que je préfère m'assurer de ça avant d'aller plus loin.

  5. #5
    Candidat au Club
    Femme Profil pro
    Statisticienne
    Inscrit en
    Août 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Statisticienne

    Informations forums :
    Inscription : Août 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut size
    Citation Envoyé par bobnolit Voir le message
    D'accord, donc j'avais bien compris ce qu'était cette variable.

    Je ne suis pas sur que ça fonctionne, size(cam[cam.month==1]) donne bien 31? Je sais que c'est triviale comme vérification, mais j'ai tellement souvent vécu des erreurs sur des choses triviales que je préfère m'assurer de ça avant d'aller plus loin.
    cam[cam.MONTH==1].shape renvoie (31,8) car mon dataset a 31 ligne (pour les 31 jour) et 8 variable.


    Mais la question est plus générale, pas forcément liée à mon exemple.
    J'aimerais juste savoir comment dire à Python, lors d'un plot, que pour l'axe des abscisse j'aimerais qu'il soit sur l'intervalle [0,31] avec 31 divisions (un pas de 1 par division)....


    Merci pour ton aide,
    Anne-Sophie

Discussions similaires

  1. [AC-2007] Ordre des données sur l'axe des abscisses.
    Par mimi_01 dans le forum IHM
    Réponses: 1
    Dernier message: 07/04/2009, 14h19
  2. Réponses: 2
    Dernier message: 05/08/2008, 16h43
  3. Réponses: 1
    Dernier message: 14/06/2007, 21h37
  4. Réponses: 1
    Dernier message: 24/05/2007, 16h02
  5. Réponses: 9
    Dernier message: 04/04/2007, 17h32

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