R markdown 文档中的绘图参数(例如 xlim 和 ylim)在不同的机器上表现不同

plotting parameters (e.g. xlim and ylim) in R markdown document behave differently on different machines

我和一个朋友正在用R Markdown写一个文档,里面有一些超基础的系统发育树图。我们 运行 遇到了一个奇怪的问题,同一个 R markdown 文档会根据我们中的哪一个人编织文档而产生不同的外观图。在我朋友的机器上,情节看起来不错。在我的机器上,绘图的边界看起来完全不同,在图表周围产生了多余的空白。

我们使用的代码如下:

library(ape)

my_newick <- "(((A,B),C),D);"
my_tree <- read.tree(text = my_newick)

plot(my_tree,
direction = "downwards", srt = 90,
label.offset = 0.2,
adj = 0.5,
x.lim = c(0,5),
y.lim = c(0,10), no.margin = T)

在我朋友的机器上,编织的PDF结果是这样的:

在我的机器上,结果如下所示:

只是想知道是否有人对为什么同一文档中的相同代码会产生这样看起来不同的图形有任何想法?我在这里缺少一些基本的东西吗,比如我的 R 安装中与绘图有关的一些全局设置? 或者可能是因为我们使用的是不同的 R 版本? (我在 3.6.2 上落后了,我想我的朋友可能正在使用 v4。这是我能想到的唯一区别。我们正在编织同一个文档,我们都使用 Mac OS.) 编辑:仔细检查这个,我们都使用相同版本的 R (3.6.2)。我使用的是 ape 包的 v5.4-1 与他的 5.3,仅此而已。

那是因为你朋友的机器有裁剪图形的工具:pdfcrop and ghostscript。您的机器上可能没有安装这些工具。由于你没有提供你的sessionInfo(),我不知道你的平台,所以很难提供具体的安装说明。如果你的 LaTeX 发行版是 TinyTeX,pdfcrop 可以通过 tinytex::tlmgr_install('pdfcrop') 安装。请注意,如果您使用 Windows,则需要为 pdfcrop 安装 Perl。如果您使用的是 macOS,ghostscript 可以通过 Homebrew 安装。