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 :

Probleme pyplot filesave


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2012
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 12
    Par d�faut Probleme pyplot filesave
    Bonjour,

    j'essaye enregistrer des courbes en pdf. sans les afficher

    Si je ne mets pas la ligne 19: plt.show(), �a cr�e le fichier1 mais juste la courbe et le programme plante :
    PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Admin\\.matplotlib\\fontList.py3k.cache'
    Si je mets la ligne 19 : plt.show(), tous les fichiers sont correctement cr�es mais je dois fermer manuellement les fen�tres de graphique pour que le programme s'ex�cute compl�tement (normal) ce que je souhaite �viter.

    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
    18
    19
    20
    21
    22
    import matplotlib.pyplot as plt
     
    #bigT=[titre1, [abscisse 1],[ ordonnée1],titre2, [abscisse 2],[ ordonnée2]]  tableau contenant les données des graphiques
    BigT=['RED-G-75139  Body Die 7-08 Remington', ['01/01/2017', '03/01/2018', '09/05/2018', '15/06/2018', '20/09/2018', '11/10/2018', '18/10/2019', '14/11/2019', '10/03/2020', '14/04/2020', '19/05/2020', '30/07/2020', '08/12/2020'], [2, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0], 'RED-G-75153  Body Die .300 Win. Mag.', ['01/01/2017', '18/01/2017', '17/02/2017', '04/01/2019', '20/02/2019', '05/05/2020', '30/07/2020', '14/08/2020', '25/11/2020'], [1, 0, 1, 0, 1, 0, 1, 0, 1]]
     
    nbre_de_courbe=int(len(BigT)/3)
    for x in range(1,nbre_de_courbe+1):
        plt.figure(figsize=(20,6))
        abscisse=[]
        for y in range(0,len(BigT[x*3-2])):
            abscisse.append(y)
        plt.plot(abscisse,BigT[x*3-1],"r",linewidth=1)
        plt.xticks(fontsize = 8, rotation=45)
        plt.xticks(abscisse,BigT[x*3-2])
        plt.title(BigT[x*3-3])
        plt.grid(linewidth=0.5)                     # grille et son épaisseur
        fig1 = plt.gcf()
     
        plt.show()
     
        nomfichier="fichier"+str(x)+".pdf"
        fig1.savefig(nomfichier)
    Quelqu'un a-t-il une id�e ?

    merci

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 769
    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 769
    Par d�faut
    Salut,

    Citation Envoy� par ikik38 Voir le message
    Quelqu'un a-t-il une id�e ?
    C'est une erreur qui vient (probablement) de votre environnement (pas forc�ment du code ex�cut�).
    Cherchez un peu sur Internet les discussions qui sont associ� � votre message d'erreur et trouvez celles qui s'applique � votre cas.

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

  3. #3
    Membre Expert

    Homme Profil pro
    Ing�nieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par d�faut
    Si c'est juste de fermer la figure � la main qui vous d�range, vous pouvez aussi la faire fermer par le programme, en ajoutant tout simplement � la fin de votre boucle :


  4. #4
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par d�faut
    Bonjour,

    Le probl�me ne vient pas du code. Je l'ai ex�cut� sur ma machine sans probl�me m�me sans le plt.show() et du coup pas besoin du plt.close(fig1)

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2012
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 12
    Par d�faut
    Citation Envoy� par lg_53 Voir le message
    Si c'est juste de fermer la figure � la main qui vous d�range, vous pouvez aussi la faire fermer par le programme, en ajoutant tout simplement � la fin de votre boucle :

    Bonjour,

    J'avais bien essay� plt.close(fig1)) ou plt.close(all)) mais, ca ne ferme pas la fenetre.

    Le probl�me ne vient pas du code. Je l'ai ex�cut� sur ma machine sans probl�me m�me sans le plt.show() et du coup pas besoin du plt.close(fig1)
    Je n'avais pas encore lu la reponse de Fifan31.
    Tu le lances dans un IDE ?

    merci pour les reponses

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par d�faut
    J'enl�ve la ligne 19 (sinon, il faut fermer la fen�tre manuellement) et je mets plt.close() dans la boucle � l'int�rieur de celle-ci.
    All good !

  7. #7
    Membre Expert

    Homme Profil pro
    Ing�nieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par d�faut
    Citation Envoy� par ikik38 Voir le message
    Bonjour,

    J'avais bien essay� plt.close(fig1)) ou plt.close(all)) mais, ca ne ferme pas la fenetre.
    Si si ca ferme bien la fenetre. Et comme le dit marco, il faut que cette instruction soit dans la boucle !

  8. #8
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2012
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 12
    Par d�faut
    Citation Envoy� par lg_53 Voir le message
    Si si ca ferme bien la fenetre. Et comme le dit marco, il faut que cette instruction soit dans la boucle !
    quand je mets plt.close() avec ou sans plt.show() avant ou apres plt.savefile(fig1), j'ai toujours le meme message d'erreur.

    Ca doit venir de mon IDE

  9. #9
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par d�faut
    J'ai bien une id�e :tu as les droits sans mot de passe pour �crire sur le disque ?

  10. #10
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    D�cembre 2012
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 12
    Par d�faut
    Citation Envoy� par marco056 Voir le message
    J'ai bien une id�e :tu as les droits sans mot de passe pour �crire sur le disque ?
    oui car avec plt.show() ca ecrit bien sur le disque

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de donn�es
    R�ponses: 10
    Dernier message: 28/05/2004, 18h07
  2. R�ponses: 2
    Dernier message: 30/05/2002, 08h54
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    R�ponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    R�ponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    R�ponses: 5
    Dernier message: 02/05/2002, 10h13

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