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

R Discussion :

sauvegarder un plot dans un fichier


Sujet :

R

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut sauvegarder un plot dans un fichier
    Bonjour,

    Je souhaiterai sauvegarder mes plots dans des fichiers, j'ai crée une fonction ou je fais cela mais quand je lance ma fonction je me retrouve avec des images vide où il n'y a que du blanc mais quand je lance chaque ligne de ma fonction dans la console là ça marche parfaitement mais dans la fonction non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    resultat_plot <- function(liste) # liste: liste de plot
    {
      png(filename = "resultat/plot1.png")
      liste$plot1
      dev.off()
     
      png(filename = "resultat/plot2.png")
      liste$plot2
      dev.off()
    }

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Fonction
    Bonjour,

    Je comprends que le code suivant produit bien un fichier avec un graphique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    png(filename = "resultat/plot1.png")
    liste$plot1
    dev.off()
    Vous pouvez vérifier le passage de paramètre en ajoutant par exemple str(liste) au début de votre fonction.

    Cordialement,

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut
    bonjour,

    j'obtiens cette erreur quand je fais resultat_plot(str(liste))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    List of 2
     $ train:List of 9
      ..$ data       :'data.frame':	0 obs. of  0 variables
      ..$ layers     :List of 2
      .. ..$ :Classes 'LayerInstance', 'Layer', 'ggproto' <ggproto object: Class LayerInstance, Layer>
        aes_params: list
        compute_aesthetics: function
        compute_geom_1: function
        compute_geom_2: function
        compute_position: function
        compute_statistic: function
        ...

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Fonction
    Bonjour,

    L'idée était d'ajouter str(liste) au début de votre fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    resultat_plot <- function(liste) # liste: liste de plot
    {
      str(liste)
     
      png(filename = "resultat/plot1.png")
      liste$plot1
      dev.off()
     
      png(filename = "resultat/plot2.png")
      liste$plot2
      dev.off()
    }
    Cordialement,

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut
    j'ai le même message qu'avant avec en plus à la fin ça
    et les images crées sont vides

  6. #6
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Fonction
    Bonjour,

    Je comprends que le code suivant produit bien un fichier avec un graphique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    png(filename = "resultat/plot1.png")
    liste$plot1
    dev.off()
    Pouvez-vous indiquer comment vous avez construit l'objet liste et fournir un code exécutable, par exemple avec les graphiques plot(cars) et plot(sin, -pi, 2*pi).

    Merci,

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut
    bonjour,

    En mettant en place un code exécutable j'ai pu comprendre pourquoi cela ne marcher pas, en fait dans ma liste plot1 et plot2 sont des plots crées avec la librairie ggplot2 en utilisant qplot(), dans ma fonction j'ai rajouté plot(liste$plot1) et plot(liste$plot2)

    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
     
     
    resultat_plot <- function()
    {
      X <- qplot(matrix(rnorm(50 * 10), nrow = 50, ncol = 1), matrix(rnorm(50 * 10), nrow = 50, ncol = 1))
      Y <- qplot(matrix(rnorm(50 * 10), nrow = 50, ncol = 1), matrix(rnorm(50 * 10), nrow = 50, ncol = 1))
     
      liste <- list("plot1" = X, "plot2" = Y)
     
      png(filename = "resultat/plot1.png")
      plot(liste$plot1)
      dev.off()
     
      png(filename = "resultat/plot2.png")
      plot(liste$plot2)
      dev.off()
    }

    j'ai aussi un troisième graphe à écrire dans un fichier, il a été générer avec la librairie keras (c'est pour faire du réseau de neurone) c'est un objet "keras_training_history" (class(...)), pour l'écrire dans un fichier j'ai du faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      png(filename = "resultat/plot3.png")
      plot(plot(liste$plot_keras))
      dev.off()
    Il y aurait une autre manière de faire pour écrire les graphes dans des fichiers ? c'est normal de faire un plot d'un qplot ou de faire deux fois plot ?

Discussions similaires

  1. Sauvegarder les données dans un fichier CSV
    Par beb30 dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2006, 13h06
  2. Réponses: 5
    Dernier message: 21/10/2005, 11h48
  3. [C#] Sauvegarde de texture dans un fichier + transparence
    Par Harry_polin dans le forum DirectX
    Réponses: 13
    Dernier message: 23/07/2005, 18h12
  4. [arbre] Sauvegarder un objet dans un fichier
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 00h55
  5. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 15h23

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