将绘图的R主标题中的文本换行导出为pdf文件

将绘图的R主标题中的文本换行导出为pdf文件,r,pdf,plot,rstudio,R,Pdf,Plot,Rstudio,当我在RStudio中生成带有长“main”标题的绘图时,当RStudio生成标题时,这些标题似乎会自动环绕在可见的页边距内。但是,当我使用R的pdf()函数将绘图导出到文件时,文本换行消失,超出了页边距,看起来很糟糕。有没有办法让PDF格式的打印输出看起来和RStudio一样好?我知道我可以手动将\n字符插入标题字符串,或者(我还没有尝试过)我可以玩strwrap,但如果我只知道要翻转哪个开关,这似乎是一种应该从盒子里出来的功能。有没有简单的方法,或者只是麻烦的一次性方法 # Demo cod

当我在RStudio中生成带有长“main”标题的绘图时,当RStudio生成标题时,这些标题似乎会自动环绕在可见的页边距内。但是,当我使用R的pdf()函数将绘图导出到文件时,文本换行消失,超出了页边距,看起来很糟糕。有没有办法让PDF格式的打印输出看起来和RStudio一样好?我知道我可以手动将
\n
字符插入标题字符串,或者(我还没有尝试过)我可以玩
strwrap
,但如果我只知道要翻转哪个开关,这似乎是一种应该从盒子里出来的功能。有没有简单的方法,或者只是麻烦的一次性方法

# Demo code for long plot title
plot(density(rnorm(10000,0,1))
     ,main="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
)
绘图查看窗口与pdf()等文件输出设备之间的差异 有时,在打印窗口中打印与在文件输出设备中打印不同。根据我的经验,这是因为它们有不同的几何形状。试试这些

pdf("Desktop/testSmall.pdf",width=4,height=4)
plot(1:10,1:10,main="This is a fairly long plot title with no line breaks")
dev.off()
还有更大的第二个情节

pdf("Desktop/testLarge.pdf",width=8,height=8)
plot(1:10,1:10,main="This is a fairly long plot title with no line breaks")
dev.off()
断线 下面的链接表明这不是一个简单的问题要解决(但并非不可能):

我不知道你在RStudio中看到的“好”是什么意思,但这会将主标题中的线条分割并居中

pdf("test.pdf")
plot(1:10,1:10,main=paste("Line one","Line two",sep="\n"))
dev.off()

在我的系统中,我需要做的就是确保方向设置为
纵向
(而横向是默认方向)


当您导出为pdf时,RStudio将根据RStudio设备的大小给出适当的pdf高度和宽度。

您能举个例子吗?我不能复制
RStudio
包装任何东西,你是对的,我应该改变它。这并不是因为RStudio正在拆分行,而是标题没有超出RStudio窗口中的“页面”边距。也许我需要配置RStudio来模拟pdf导出默认设置的边距。您仍然需要提供一个示例——我得到了与
pdf
RStudio
设备相同的绘图(就标题而言)。我想我没有正确表达:我不是指RStudio导出设备,我是指RStudio查看窗口。这对我来说是一种欺骗,情节在窗口中看起来很棒,然后我将其导出,结果完全不同。也许有一种方法可以让导出符合RStudio在该查看窗口中所做的任何操作?如果您希望文件输出和屏幕输出之间完全一致,那么
Cairo
包及其功能
CairoX11
CairoPDF
等可能会符合您的喜好。但无法解决文本包装问题。