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 :

sauver un plot en format tiff avec un compression lzw


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut sauver un plot en format tiff avec un compression lzw
    Bonjour,

    Je voudrais savoir comment sauver un plot en format tiff avec un compression lzw

    J'ai essayé deux méthodes, une avec le package grDevice mais ca me donne une image blanche et l'autre avec le package ggplot2 mais je ne sais pas s'il gère le format tiff

    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
    23
    24
    25
     
     
    data(iris)
     
    library(grDevices)
    tiff(filename = "iris_grDevices.tiff",
         width = 5600, height = 5600, units = "px", pointsize = 12,
         compression = "lzw",
         bg = "transparent")
    plot(iris$Sepal.Length, iris$Sepal.Width)
    dev.off()
    #
    # j'obtiens une image tout blanc
    # 
     
    # -----------------------------------------------------------------------------------------------
     
    library(ggplot2)
    p <- plot(iris$Sepal.Length, iris$Sepal.Width)
    ggsave(p, "iris_ggplot2.tiff", dpi=800, compression = "lzw",
           device = "tiff", units = c("mm"),limitsize = FALSE)
    #
    # Error in UseMethod("grid.draw") : 
    #  no applicable method for 'grid.draw' applied to an object of class "character"
    #

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    avec la fonction tiff c'est juste un problème d'echelle
    tu crée une image tres importante avec une taille de points petite, change pointsize = 120, ou plus logiquement mets une hauteur et largeur plus faible

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

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut
    J'ai essayé de créer un plot avec ggplot2 mais je n'arrive pas à avoir un bon rendu.
    Il y a un moyen de juste mettre une largeur et une hauteur pour que le pointsize s'adapte tout seul ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    library(grDevices)
    data(iris)
    tiff(filename = "plots/train.tiff",
         width = 2400, height = 2400, units = "px", pointsize = 70,
         compression = "lzw",
         bg = "transparent")
     
    #plot(iris$Sepal.Length, iris$Sepal.Width)
    ggplot(iris, aes(iris$Sepal.Length,iris$Sepal.Width))
    dev.off()

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    tu as oublié de définir le type de graphique ici geom_point

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    data(iris)
    tiff(filename = "plots/train.tiff",
         width = 2400, height = 2400, units = "px", pointsize = 70,
         compression = "lzw",
         bg = "transparent")
     
    #plot(iris$Sepal.Length, iris$Sepal.Width)
    ggplot(iris, aes(iris$Sepal.Length,iris$Sepal.Width)) + geom_point(size= 10)## avec size tu peux définir la taille
    dev.off()
    tu aimes bien les graphiques "importants 2400 * 2400 pixels , 300 * 300 devrait le faire

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

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut
    Bonjour,

    Je mets une haute résolution car on me demande d'avoir une image 400 dpi.

    Et la police des labels x, y restent tout petit quelque soit la valeur de pointsize

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    library(grDevices)
    data(iris)
    tiff(filename = "plots/iris.tiff",
         width = 2100, height = 2100, units = "px", pointsize = 70,
         compression = "lzw",
         bg = "transparent")
    ggplot(iris, aes(iris$Sepal.Length,iris$Sepal.Width)) +
      geom_point(size= 10)
    dev.off()

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ....+
        theme(text = element_text(size=20))

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

Discussions similaires

  1. Verfier le format date_heure avec perl!
    Par badrogi dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2005, 14h24
  2. Réponses: 2
    Dernier message: 15/04/2005, 15h51
  3. pb format datetime avec mysql
    Par ms91fr dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/12/2004, 14h12
  4. [Format]nombres avec des 0
    Par zozolh2 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 01/06/2004, 08h43
  5. [Images] format TIFF
    Par ksly dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/06/2003, 16h01

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