gpt4 book ai didi

r - 将透明 ggplots 从 Rstudio 导出到 PowerPoint 是否有更好的解决方法?

转载 作者:行者123 更新时间:2023-12-02 06:27:49 31 4
gpt4 key购买 nike

所以我需要将我在 R/Rstudio 中制作的绘图复制并粘贴到 PowerPoint(不幸的是,我的政府客户要求所有内容都在 PowerPoint 中,否则只需将我的图形放入 Rmarkdown 文件即可轻松解决这个问题)。直到最近我发现透明对象无法复制并粘贴到 PowerPoint 之前,这并不是什么大问题,至少在我一直使用的方法中(导出 > 复制为元文件 > 复制绘图 > 粘贴) .相反,透明物体所在的地方,现在什么都没有。我做了一些阅读,发现这与我的“图形引擎”不支持透明对象有关,而“cairo”引擎可以,但我不明白这是什么意思,或者如果它是我可以在 Rstudio 中更改的选项或PowerPoint。

下面是一些示例代码:

iris %>%
mutate(small_petal = if_else(Petal.Width > 1.5, "big", "small")) %>%
ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species, alpha = small_petal)) +
geom_point()

enter image description here

我尝试了一种非常奢侈的解决方法来获得我想要的颜色。我制作了不透明的自定义 RGB 值,以模仿我想要的透明度。然后我使用带有四个 if_elsemutate 将它们附加到 data.frame(每个 alpha 颜色组合一种颜色)。然后我使用 scale_fill_identity 来应用我的自定义颜色,但它会生成一个带有我不想要的元素的图例。我需要使用以下内容使图例出现至少一些我想要的元素:

scale_fill_identity(guide = "legend",
labels = c("DUMMY LABEL",
"DUMMY LABEL",
"Small Petal",
"Big Petal"),
breaks = unique(iris$custom_colors))

然后我在 PowerPoint 中删除我不想要的图例对象。非常感谢任何帮助。

最佳答案

您是否尝试过从 RMarkdown 直接渲染到 PowerPoint?该功能已添加 pretty recently您必须同时安装 RMarkdown 和 RStudio 的开发版本才能获得它。先前链接中的说明,但 tldr;如下:

  1. 最新的 rmarkdown:devtools::install_github("rstudio/rmarkdown")
  2. 安装最新的 RStudio 预览版:https://www.rstudio.com/products/rstudio/download/preview/

当我在我的 Mac 上尝试时,我认为输出看起来不错:

enter image description here

我的 RMarkdown 测试如下:

---
title: "testing ppt"
author: "JD Long"
date: "8/3/2018"
output: powerpoint_presentation
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

## Test chunk

```{r iris, echo = TRUE}
library(tidyverse)
iris %>%
mutate(small_petal = if_else(Petal.Width > 1.5, "big", "small")) %>%
ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species, alpha = small_petal)) +
geom_point()
```

关于r - 将透明 ggplots 从 Rstudio 导出到 PowerPoint 是否有更好的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51673550/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com