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 :

Tableau avec odfWeave


Sujet :

R

  1. #1
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut Tableau avec odfWeave
    Bonjour à tous,

    Je cherche à savoir comment définir la couleur de fond des cases de mon tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <<MaFonction, echo = FALSE, results=xml>>= 
    data(iris)
    d <- getStyleDefs()
    d$noBorder$backgroundColor <- "blue"
    d$ArialCentered$fontSize <- "12pt" 
    d$ArialCentered$fontColor <- "red" 
    setStyleDefs(d)
    odfTable(iris) 
    @
    Avec cet exemple la définition des couleurs ne fonctionnent pas !

    Quelqu'un aurait une idée de la provenance du problème ?

    Merci d'avance.

  2. #2
    Membre chevronné
    Femme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    Bonjour,
    je n'ai jamais utilisé odfWeave mais il me semble avoir lu que les couleurs se définissent en hexadécimal.

    De mémoire, je dirais quelque chose du style #FF0000, mais il faudrait chercher avec

    J'espère ne pas avoir dit de bêtise...

    Bonne journée

  3. #3
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Bien vu, merci.

    Effectivement j'obtiens ce que je voulais avec les codes hexadécimaux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <<MaFonction, echo = FALSE, results=xml>>= 
    data(iris)
    d <- getStyleDefs()
    d$noBorder$backgroundColor <- "#66FF99"
    d$ArialCentered$fontSize <- "12pt" 
    setStyleDefs(d)
    odfTable(iris) 
    @
    Maintenant je souhaiterais mettre une couleur à certaines cases du tableau et non pas à l'ensemble...??

  4. #4
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Voilà c'est trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    data(iris)
    d <- getStyleDefs()
    d$noBorder$backgroundColor <- "#66FF99"
    d$ArialCentered$fontSize <- "12pt" 
    setStyleDefs(d)
    testStyles <- tableStyles(iris)
    testStyles$cell[,1] <-"black"
    testStyles$cell[2,3] <-"black"
    testStyles$cell[3,3] <-"black"
    testStyles$cell[,4] <-"black"
    odfTable(iris, styles=testStyles) 
    @
    Reste plus qu'à trouver comment faire fonctionner la fonction odfPageBreak()...

    Actuellement, le code suivant ne produit pas de saut de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <<maFonction, echo=FALSE>>=
       print("test")
       odfPageBreak()
    @
    Mais dans le document de sortie s'affiche :

  5. #5
    Membre chevronné
    Femme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    Bonjour,
    cela ne fonctionnait pas jusqu'à ce que j'installe la dernière version du package (0.7.17)!
    http://cran.r-project.org/

    Dites moi si c'est bien cela qui bloque svp...

    Bonne journée

  6. #6
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Je viens de faire la mise à jour.

    Avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
    J'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [1] "test"
    <text:p text:style-name="OdfPageBreak"/>
    [1] "test2"
    J'ai le package odfWeave version 0.7.17 et je suis sur R 2.10.1

    Avec la version R 2.13.1 le résultat est incohérent :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
     
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
     
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
     
    [1] "test"
    <text:p text:style-name="OdfPageBreak"/>
    [1] "test2"
     
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
     
    <<test, echo=FALSE>>=
    print("test")
    odfPageBreak()
    print("test2")
    @
     
    <<test, echo=FALSE>>=<<test, echo=FALSE>>=
    print("test")print("test")
    odfPageBreak()odfPageBreak()
    print("test2")print("test2")
    @@
    Je sèche...

  7. #7
    Membre chevronné
    Femme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    Re,
    j'avoue que je sèche aussi.

    J'ai essayé de changer le fichier d'exemples simple.odt en introduisant (fin de la page 2):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (...)
          digits = 3,
          styles = newStyles)
    odfPageBreak()
    @
     
    To process this file, you might use:
    (...)
    Le fichier produit par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    odfWeave("C:/Users/utilisateur/Documents/R/win-library/2.10/odfWeave/examples/simple_PageBreak.odt" , "C:/Users/utilisateur/Documents/R/win-library/2.10/odfWeave/examples/simple_PageBreak.out.odt")
    fait bien un saut de page

    Cela pourrait-il venir du fait que, dans votre cas, odfPageBreak() n'est pas en fin du code?

    Bonne soirée

  8. #8
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    J'ai effectivement fait des tests à différents endroits de simple.odt
    A priori, les sauts de page fonctionnent uniquement dans les codeschunk balisés de results=xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <<sautDePage, echo=FALSE, results=xml>>=
       odfPageBreak()
    @
    Problème résolu, en attendant le suivant... !

  9. #9
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Je reviens sur la problématique des tableaux avec odfTable.

    Le code suivant fonctionne très bien pour spécifier un backgroundcolor vert au tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <<MaFonction, echo = FALSE, results=xml>>=
    data(iris)
    d <- getStyleDefs()
    d$noBorder$backgroundColor <- "#66FF99"
    d$ArialCentered$fontSize <- "12pt" 
    setStyleDefs(d)
    testStyles <- tableStyles(iris)
    testStyles$cell[,1] <-"black"
    testStyles$cell[2,3] <-"black"
    testStyles$cell[3,3] <-"black"
    testStyles$cell[,4] <-"black"
    odfTable(iris, styles=testStyles) 
    @
    Mais si à la suite je souhaite ajouter une fonction de réinitialisation des couleurs (dans l'optique de réaliser un autre tableau),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <<ReinitStyles, echo = FALSE, results=xml>>=
    stylesInit <- getStyleDefs()
    stylesInit$noBorder$backgroundColor <- "#FFFFFF"
    setStyleDefs(stylesInit)
    @
    Le backgroundcolor vert du tableau disparaît.
    Mystère...J'ai fait de nombreux essais, mais là je sèche !

    Merci d'avance pour vos suggestions !

  10. #10
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Finalement je crois que le plus simple reste de créer ses propres styles sous OpenOffice (ici le style CaseVerte):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <<MaFonction, echo = FALSE, results=xml>>= 
    data(iris)
    testStyles <- tableStyles(iris)
    testStyles$text[,2] <-"CaseVerte"
    testStyles$text[1,3] <-"CaseVerte"
    odfTable(iris, styles=testStyles) 
    @

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

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. tableau avec 1 colonne sur 3 sans cadre
    Par brasco06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 21/04/2005, 17h44
  3. balise <img> dans un tableau avec firefox
    Par yannock dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/10/2004, 16h44
  4. pb de coord de tex dans tableau avec multitex
    Par sebh dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/01/2004, 21h36
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

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