Wordcloud 2 et Knitr Latex F

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Jean-Emmanuel Longueville
Messages : 290
Enregistré le : 23 Fév 2011, 08:03

Wordcloud 2 et Knitr Latex F

Messagepar Jean-Emmanuel Longueville » 10 Mai 2019, 13:03

Bonjour,
Quand j'utilise wordcloud2 dans mon fichier LaTeX le rendue du nuage de mot est toujours tronqué seule une partie des mots apparait ?
Auriez vous une piste ?
ecm :

Code : Tout sélectionner

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}

<<def, include=FALSE>>=
  opts_chunk$set(device = "cairo_pdf", warning = FALSE, cache=FALSE , echo=FALSE, results="asis", dev.args = list(bg = 'transparent'))
@

\begin{document}

<<toto,>>=
library(magrittr)
nettoyageStr <- function (vec){
  vec <- enc2utf8(vec)
  vec <- gsub(pattern = "\\[COHDA\\].*$", replacement = "", x = vec) #Suppression des commentaires Cohda
  vec <- gsub(pattern = "\\[SPOF\\].*$", replacement = "", x = vec)#Suppression des commentaires Spof
  vec <- gsub("\\\"", "", vec, ignore.case = TRUE) #Suppression de guillemet dans les commentaires pour raison technique
  vec <- gsub("'", " ", vec, ignore.case = TRUE)
  vec <- gsub("ras.*",             NA, vec, ignore.case = TRUE) #Suppression des commentaires RAS
  vec <- gsub("rien a signaler.*", NA, vec, ignore.case = TRUE) #Suppression des commentaires RAS
  vec <- gsub("^no.*$",            NA, vec, ignore.case = TRUE)  #Suppression des commentaires Non
  vec <- gsub("aucun.*",           NA, vec, ignore.case = TRUE)  #Suppression des commentaires Aucun
  vec <- gsub("nc",                NA, vec, ignore.case = TRUE)  #Suppression des commentaires Aucun
  vec <- gsub("^\\.$",             NA, vec, ignore.case = TRUE)
  vec[which(vec == "")] <-           NA
  vec <- gsub("€"," euros", vec, ignore.case = TRUE) #Suppression du symbole euro.

  return(vec)
}
motnuage <- function(comment = init_res$u10, classic = TRUE){
  comments   <- nettoyageStr(comment)
  comments   <- na.omit(comments)
  if(length(which(!is.na(comments))) > 0){
  com.corpus <- tm::Corpus(tm::VectorSource(comments))    %>%
    tm::tm_map(tolower)                                   %>%
    tm::tm_map(tm::stripWhitespace)                       %>%
    tm::tm_map(tm::removeNumbers)                         %>%
    tm::tm_map(tm::removePunctuation)                     %>%
    tm::tm_map(tm::removeWords, tm::stopwords("french") ) %>%
    tm::tm_map( tm::removeWords, c("a"))                  #%>%
#    tm::tm_map(tm::stemDocument ,"fr")

  tdm <- com.corpus%>% tm::TermDocumentMatrix() %>% as.matrix() %>%
         rowSums() %>% sort(decreasing = TRUE)
  d <- data.frame(word = names(tdm),freq=tdm)
  if(classic){
    graph <- wordcloud::wordcloud(d$word,d$freq, min.freq = 1,
                                  max.words=50, random.order=FALSE,# rot.per=0.35,
                                  colors=RColorBrewer::brewer.pal(8, "Dark2"))
  }else{
    #TODO faire avec le logo de l'upec
    #figPath = system.file("examples/t.png",package = "wordcloud2")
    #wordcloud2(demoFreq, figPath = figPath, size = 1.5,color = "skyblue")
    graph <- wordcloud2::wordcloud2(d, size = 3)

  }
  return(graph)
  }else{
    stop("Le nettoyage des données à supprimer toutes les valeurs cf nettoyageStr.")
  }
}
mots <- c("Ingenieur ASL RAMS - Redponsable projet SLI",    "Chef de quart en exploitation ", "Ingénieur d'affaires ",          "Cadre opérationnel de maintenance ", "Expert maintenance ", "Chargé d'affaire sécurité machines ","ingénieure en gestion des risques projets", "Ingénieur maintenance","Coordinateur technique ", "Ingénieur maintenance ", "Administrateur technique GMAO", "adjoint au chef unite politique de Maintenance", "Ingenieur système ferroviaire ", "Ingénieur SLI", "INGENIEUR METHODES MAINTENANCE", "Ingénieur sûreté de fonctionnement ", "Ingénieur Méthodes", "Ingénieur méthode ", "Ingénieur méthode", "Ingénieur projet en recherche et développement", "Ingénieur support métier ", "Ingénieur en soutien logistique intégré", "Ingénieur d'étude", "Responsable performance équipement ", "commercant", "Ingénieur bureau d'étude", "Ingénieur Soutien logistique intégrer ", "Ingénieur qualité process", "Ingénieur maintenance ", "Professeur sciences de l'ingenieur", "Ingénieur en maintenance industriel")
@
\section{Exemple en utilisant WordCloud}
<<nuagedemotWordcloud >>=
  motnuage(mots, TRUE)
@

\section{Exemple en utilisant WordCloud2}
<<nuagedemotWordcloud2 >>=
  motnuage(mots, FALSE)
@

\end{document}
Jean-Emmanuel
Ingénieur d'étude LNEC

Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité