ggsave 到 Windows 上的剪贴板中

问题描述 投票:0回答:1

我想在 Windows 上将绘图

ggsave
放入剪贴板,而无需离开 RStudio。 基本 R 图形也有类似的问题,但我想使用
ggplot
+
ggsave

绘图操作示例:

library(tidyverse)
{
  ggplot(data = mtcars, aes(y = mpg, x = wt)) + geom_point()
} %>%
  ggsave("plot.png", .)

当然,在文件资源管理器中导航到工作目录/plot.png,右键单击该文件并复制它并不难,但这需要额外的点击和时间。

一种可能的策略可能是尝试随后通过

system()
调用复制到剪贴板,例如:

library(tidyverse)
{
  ggplot(data = mtcars, aes(y = mpg, x = wt)) + geom_point()
} %>%
  ggsave("plot.png", .) %>%
  {system( # windows command here)}

但我无法找到正确的Windows命令,至少没有下载其他实用程序。既然基本 R 的

savePlot()
能够保存到剪贴板中,那么应该有一些方法可以做到这一点,对吗?

r windows ggplot2 clipboard ggsave
1个回答
0
投票

解决方案取决于平台(Windows、Mac、Linux)。对于 Windows,您可以使用 dpashouwer/gg_to_clipboard:

的代码
library(tidyverse)
gg_to_clipboard <- function(plot = last_plot(), width = 7, height = 5, pointsize = 12){
  win.graph(width = width, height = height, pointsize = pointsize)
  plot %>% print()
  savePlot("clipboard", type = "wmf")
  dev.off()
}

{ggplot(data = mtcars, aes(y = mpg, x = wt)) + geom_point()} %>%
  gg_to_clipboard()

对于 R 基础图(不是 ggplot2),请参阅 这个答案

windows(width = 7, height = 5, pointsize = 12)
plot(mtcars$wt, mtcars$mpg)
savePlot("clipboard")
dev.off()
© www.soinside.com 2019 - 2024. All rights reserved.