【问题标题】:Wrap text in R main title of plot exported to pdf file在导出到 pdf 文件的绘图的 R 主标题中换行
【发布时间】:2013-03-15 01:05:46
【问题描述】:

当我在 RStudio 中生成带有长“主要”标题的绘图时,标题似乎会自动环绕当它们由 RStudio 生成时,它们通常保持在可见的页边距内。但是当我使用 R 的 pdf() 函数将绘图导出到文件时,文本 wrapping消失 超出了页边距并且看起来很糟糕。有什么方法可以让 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"
)

【问题讨论】:

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

标签: r pdf plot rstudio


【解决方案1】:

绘图查看窗口和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()

换行

以下链接表明这不是一个简单的问题要解决(但并非不可能):

https://stat.ethz.ch/pipermail/r-help/2008-June/164458.html

对于您在 RStudio 中看到的内容,我不知道“好”是什么意思,但这会拆分主标题中的行并将它们居中。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2012-10-30
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多