ggsave():UseMethod("grid.draw")中的错误:没有适用于'grid.draw'的方法应用于类"character"的对象

Mic*_*gge 8 r ggplot2

我正试图用一个剧情来保存ggsave().我输入以下内容:

library(ggplot2)

Test = data.frame("X" = seq(1, 10, 1), "Y" = 2*seq(1, 10, 1))

P = ggplot(
    Test, aes(x=X, y=Y))+
    geom_line()

ggsave(P, "test.pdf", device = "pdf")
Run Code Online (Sandbox Code Playgroud)

但得到错误:

Saving 7 x 7 in image
Error in UseMethod("grid.draw") : 
  no applicable method for 'grid.draw' applied to an object of class "character"
Run Code Online (Sandbox Code Playgroud)

Mic*_*gge 8

许多R的功能和该保存的数据,诸如write.table(),saveRDS()等采取作为其第一个参数要保存的对象.但是,这不是真的ggsave().相反,默认情况下,它的第一个参数是要保存的文件的名称.因此,需要以两种方式之一修改上述语法:

ggsave(plot = P, "test.pdf", device = "pdf")
ggsave("test.pdf", P, device = "pdf")
Run Code Online (Sandbox Code Playgroud)

  • 我已经尝试过您的解决方案,但仍然收到相同的错误,您知道为什么吗?我正在使用 `ggsave('Image1.jpeg',plot=g,path='/home/theunie/Desktop/',device='jpeg')` (2认同)
  • 将 image1.jpge 添加到路径参数中。它们都应该是一个论点。 (2认同)