我对R中的情节有一个很长的标题,它一直延伸到情节之外 窗口。如何将标题包装成2行?
答案 0 :(得分:50)
尝试在标题中间添加“\ n”(新行)。例如:
plot(rnorm(100), main="this is my title \non two lines")
答案 1 :(得分:40)
您可以使用strwrap
函数将长字符串拆分为多个字符串,然后使用paste
和collapse=\n
创建要传递给主标题参数的字符串。您可能还希望使用带有par
参数的mar
函数为边距留出更多空间。
答案 2 :(得分:7)
添加换行符:
plot(1:10, main=paste(rep("The quick brown fox", 3), sep="\n"))
这会创建一个包含三条(相同)行的图块。只需在子字符串之间使用\n
。
答案 3 :(得分:7)
在标题字符串中包含换行符/换行符(\n
),例如:
strn <- "This is a silly and overly long\ntitle that I want to use on my plot"
plot(1:10, main = strn)
答案 4 :(得分:3)
这可能对任何句子都有用,因此它会在单词上分割:
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)
}
我确信这是一种更有效的方法,但它可以胜任。
答案 5 :(得分:1)
答案 6 :(得分:1)
有点偏僻,但我在尝试找出如何从直方图标题中删除换行符时发现了这一点。无论如何,我认为这对我来说似乎是最简单的选择。 \ n也没有多余的空间。如果您希望它没有换行符,请使用paste()而不是c()。
plot(rnorm(100),main = c(“这是我的标题”,“两行”)) Example plot for evidence
答案 7 :(得分:0)
如果您要使用“ \ n”解决方案之一,请记住,标题也可能变得过高而溢出顶部。如果您动态生成行,则可以跟踪行数并解决如下问题:
mar = par()$mar #get the current margins
mar[3] = mar[3] + line_count #increase the top margin if the title has too many lines
par(mar = mar) #set the new margins
hist(rnorm(100), main = title)