47 votes

Remplissage du texte pour les titres des intrigues

J'ai un long titre pour une parcelle dans R et il continue à s'étendre en dehors de la parcelle. de l'intrigue. Comment puis-je envelopper le titre sur 2 lignes ?

57voto

JD Long Points 20477

Essayez d'ajouter " \n "(nouvelle ligne) au milieu de votre titre. Par exemple :

plot(rnorm(100), main="this is my title \non two lines")

enter image description here

44voto

Greg Snow Points 22040

Vous pouvez utiliser le strwrap pour diviser une longue chaîne en plusieurs chaînes, puis utiliser la fonction paste con collapse=\n pour créer la chaîne de caractères à transmettre à l'argument principal du titre. Vous pouvez également vous donner plus d'espace dans la marge en utilisant l'option par avec la fonction mar argument.

7voto

Dirk Eddelbuettel Points 134700

En ajoutant un saut de ligne :

plot(1:10, main=paste(rep("The quick brown fox", 3), sep="\n"))

Cela crée une tuile avec trois lignes (identiques). Il suffit d'utiliser \n entre vos sous-chaînes.

7voto

Gavin Simpson Points 72349

Inclure le retour à la ligne/le saut de ligne ( \n ) dans la chaîne de titre, par exemple :

strn <- "This is a silly and overly long\ntitle that I want to use on my plot"
plot(1:10, main = strn)

4voto

RickyB Points 567

Cela peut être utile pour n'importe quelle phrase, de manière à ce qu'elle se sépare sur les mots :

wrap_sentence <- function(string, width) {
  words <- unlist(strsplit(string, " "))
  fullsentence <- ""
  checklen <- ""
  for(i in 1:length(words)) {
    checklen <- paste(checklen, words[i])
    if(nchar(checklen)>(width+1)) {
      fullsentence <- paste0(fullsentence, "\n")
      checklen <- ""
    }
    fullsentence <- paste(fullsentence, words[i])
  }
  fullsentence <- sub("^\\s", "", fullsentence)
  fullsentence <- gsub("\n ", "\n", fullsentence)
  return(fullsentence)
}

Je suis sûr qu'il y a une façon plus efficace de le faire, mais cela fait l'affaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X