为什么R会重新调整图中的所有内容,而不是导出时的文本?

Hei*_*erg 8 pdf plot r

每当我尝试导出R plot时,使用带有的RStudio pdf(),我发现所有元素都相应地重新调整大小而不是文本.这可能导致标题被切断.

尝试在Rstudio中调整此绘图的大小(或pdf("plot.pdf", width, height)在基础R中使用):

ggplot(data=data.frame(x=rnorm(100), y=rnorm(100)), aes(x, y)) +
  geom_point() +
  geom_text(aes(label=rep("a", 100))) +
  labs(y="Title that is very loooooooooooooooooooooooooooooooooooooooong")
Run Code Online (Sandbox Code Playgroud)

如果width x height5 x 5,该文本是超大,标题被切断.但是10 x 10,一切都适合.

因此,无论我为绘图的大小指定什么,似乎文本仍保持不变的"大小".这是正确理解R导出图形的方式吗?

如果是这种情况,您通常采取什么措施来确保导出图形中的文本适合?

Hei*_*erg 7

我终于看到了这种行为背后的直观性.当我发布问题时,我希望R在调整图形大小时调整图形中的所有元素.

但是,事实上,ALL元素的大小是固定的,包括文本,线条,刻度线等,并且重新调整图形大小只会改变图形的大小,同时保持元素的相对位置.

要看到这个,请运行pdf("small.pdf",5,5); plot(1,1); dev.off() and pdf("large.pdf",10,10); plot(1,1); dev.off().然后,如果显示两个图形,则缩放以使屏幕上的物理尺寸为,5x5并且10x10两个图形之间的元素大小应相同.

所以最好的做法可能是(请分享你的做法):

  1. 在绘制指定元素相对于彼此有意义的大小时,
  2. 在导出时,选择一切适合的绘图大小,
  3. 使用进口乳胶 \includegraphics[width=\textwidth, height=\textheight,keepaspectratio]