在 Google 云端硬盘上的 R 项目中打开时,Rmarkdown 无法呈现内联图

Rmarkdown fails to render inline plots when opened within an R project on GoogleDrive

我在 Google 驱动器上保存了一个 R 项目。我使用 Google Drive 桌面应用程序访问 R 项目和相关的降价。我最近将我的 macOS 更新到 Monterey 12.2.1,从那时起,我就无法在降价内内联渲染绘图。尝试打印任何绘图时收到以下错误消息:

Error in dev.off() :                                                                          
  QuartzBitmap_Output - unable to open file '/Volumes/GoogleDrive/Shared drives/.../.Rproj.user/shared/notebooks/-.../1/s/cqgw7b5dagxzw_t/_rs_chunk_plot_001.png'

在 R 项目中打开 markdown 到 Google 驱动器时,这似乎是特定的。我试过在我的本地机器上有一个项目并打开相同的降价,情节显示很好。我试过在项目外打开降价,同样可以很好地显示内联图。这些图也可以很好地显示在查看器窗格中,编织也不是问题。

我唯一的线索是,当我进入 .Rproj.user 目录时,我可以找到一个名为 'cqgw7b5dagxzw' 的文件夹(见上面的路径),但它缺少 ' _t'。虽然不确定这意味着什么。

自从更新 OS 我也重新安装了 XQuartz。

我仍然可以看到图表,所以这不是一个大问题,但内联显示功能非常方便,可以快速修改我的可视化效果。

以下是一些会话信息。

谢谢!!!

PS:剧情反转!我可以使用 ggplotly 显示内联图吗?!?!

解决方法 我发现这个 workaround 而是在查看器窗格中显示图表。这绝对是一个改进,但是显示内联图可以让您了解最终将编织的图的比例。

> sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.2.1

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8 

我发现有人登录 Rstudio github 的问题与此相关,已链接 here

看来你对 Rmarkdown + R Project + Google Drive + Inline plotting 的利基场景是正确的。

评论中有人建议转到“首选项”>“常规”>“图形”并将后端选项更改为 Cairo 而不是 Quartz。在我这边尝试过,当我尝试使用 GGplot2 绘制基本直方图时似乎有效。 不确定使用 Cairo 是否会使其他情况变得更糟。

如果有帮助,请使用 MacOS Monteray (12.3.1)。