0

这是我准备的代码作为示例。一切都很好,直到我运行ggsave. 该错误与$操作员有关,这很令人困惑。我见过很多人在不同的情况下都有类似的错误信息。是我的错还是内部 R 错误?

library(tidyverse)

xx <- seq(0,2,0.01); yy <- seq(0,2,0.02); zz <- seq(0,2,0.04)

dat <- data.frame(
  times = c(xx, yy, zz),
  val = c(sin(xx), sin(yy)+rnorm(length(yy),sd=0.2), sin(zz)+rnorm(length(zz),sd=0.3)),
  method = c(rep("A", length(xx)), rep("B", length(yy)), rep("C", length(zz)))
)

fig <- ggplot(dat) +
  geom_line(aes(x = times, y = val, col = method, linetype = method)) + 
  theme_minimal() +
  scale_color_manual(values = c("#29BDCE", "#ED8534", "#625559")) +
  scale_linetype_manual(values=c("solid", "longdash", "dashed")) +
  theme(legend.title = element_blank(),
        legend.position = "none") 

ggsave(fig, "D:/ResearchesAndProjects/2021_2_ODEadditive/code-ode-additive/examples/plots/test.png",
       device = "png", type ="cairo")
#> Saving 7 x 5 in image
#> Error: $ operator is invalid for atomic vectors
Created on 2021-07-01 by the reprex package (v2.0.0)
4

1 回答 1

3

第一个参数是?ggsave文件名,而第二个参数是绘图。尝试 -

ggsave("D:/ResearchesAndProjects/2021_2_ODEadditive/code-ode-additive/examples/plots/test.png",
       fig, device = "png", type ="cairo")
于 2021-07-01T05:44:32.870 回答