R 表达式()中的换行符?

R 表达式()中的换行符?,r,plot,title,line-breaks,plotmath,R,Plot,Title,Line Breaks,Plotmath,我在R中有以下柱状图: hist( alpha, cex.main=2, cex.axis=1.2, cex.lab=1.2, main=expression( paste("Histogram of ", hat(mu), ", Bootstrap samples, Allianz") ) ) 标题太长,所以我想换行。根据这个我试过了 或 但是两者都不起作用,如何在paste()中获得换行符?您可以轻松地在常规的粘贴中使用换行符,但这是plotmath粘贴(实际上是一个不

我在R中有以下柱状图:

hist(
  alpha, cex.main=2, cex.axis=1.2, cex.lab=1.2,
  main=expression(
    paste("Histogram of ", hat(mu), ", Bootstrap samples, Allianz")
  )
)
标题太长,所以我想换行。根据这个我试过了


但是两者都不起作用,如何在paste()中获得换行符?

您可以轻松地在常规的
粘贴中使用换行符,但这是plotmath
粘贴
(实际上是一个不同的函数,也没有'sep'参数),并且(长)
?plotmath
页面明确告诉您无法完成。那么,我们的工作是什么?使用plotmath函数
是一个简单的选项:

expression(atop("Histogram of "*hat(mu), Bootstrap~samples*','~Allianz))
这将在逗号处中断,并使plotmath表达式居中。还有更复杂的选择

这说明了如何打印到图形文件。具有讽刺意味的是,第一次的努力给了我一个显示,确实有你的问题与'帽子'(是那些旋转?)被切断,这表明如何增加利润。顶部边距可能是第三个数字,因此c(3,3,8,0)可能更适合您:

 pdf("test.pdf") ;  par(mar=c(10,10,10,10))
 hist(1:10,cex.main=2,cex.axis=1.2,cex.lab=1.2,
 main=expression(atop("Histogram of "*hat(mu), 
                       Bootstrap~samples * ',' ~Allianz)))
 dev.off() # don't need to restore;  this 'par' only applies to pdf()

你需要用别的东西。当我被困在一个平台上时,我被指示使用
mtext
bquote


谢谢你的回答,只剩下一个问题:三角洲和贝塔在垂直方向上很大,所以帽子超出了范围。也就是说,上面的边界是一种切割帽子的方式。我怎样才能改变这个?因此,将标题向下移动一点?有一个oma参数指向
par
::
opar当我做opar时,你的顺序错了
我猜是不同的绘图设备。我在我的屏幕设备上测试了它,但我一开始就没有问题。如果你打印到pdf设备上会发生什么?@JenBohold谢谢,唉,我不能接受这个荣誉,我是从agstudy中学到的!正如我所说。。。还有更复杂的解决方案。@DWin我个人觉得这比
顶上的表达式更直观。每行一个
bquote
。您可以将
标题
稍微简化为
as.list(表达式(粘贴(“直方图”),hat(mu)),“引导样本,安联”)
ggplot内有类似的解决方案吗?
expression(atop("Histogram of "*hat(mu), Bootstrap~samples*','~Allianz))
 pdf("test.pdf") ;  par(mar=c(10,10,10,10))
 hist(1:10,cex.main=2,cex.axis=1.2,cex.lab=1.2,
 main=expression(atop("Histogram of "*hat(mu), 
                       Bootstrap~samples * ',' ~Allianz)))
 dev.off() # don't need to restore;  this 'par' only applies to pdf()
alpha = rnorm(1e3)
hist(alpha,cex.main=2,cex.axis=1.2,cex.lab=1.2,main=NULL )

title <- list( bquote( paste( "Histogram of " , hat(mu) ) ) ,
               bquote( paste( "Bootstrap samples, Allianz" ) ) )


mtext(do.call(expression, title ),side=3, line = c(1,-1) , cex = 2 )
title <- as.list(expression(paste("Histogram of " , hat(mu)), "Bootstrap samples, Allianz"))