【问题标题】:ggsave(): Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "character"ggsave():UseMethod(“grid.draw”)中的错误:没有适用于“grid.draw”的适用方法应用于“character”类的对象
【发布时间】:2017-04-02 16:35:14
【问题描述】:

我正在尝试使用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")

但得到错误:

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

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    许多保存数据的 R 函数,例如 write.table()saveRDS() 等,都将要保存的对象作为其第一个参数。但是,对于ggsave(),这不是正确的。相反,默认情况下,它的第一个参数是要保存到的文件的名称。因此,需要通过以下两种方式之一修改上述语法:

    ggsave(plot = P, filename = "test.pdf", device = "pdf")
    ggsave("test.pdf", P, device = "pdf")
    

    【讨论】:

    • 我已经尝试过您的解决方案,但我仍然收到相同的错误,您可能知道原因吗?我正在使用ggsave('Image1.jpeg',plot=g,path='/home/theunie/Desktop/',device='jpeg')
    • 将 image1.jpge 添加到路径参数中。它们都应该是一个论点。
    猜你喜欢
    • 1970-01-01
    • 2019-09-12
    • 2022-12-15
    • 2023-01-22
    • 2020-12-05
    • 2021-10-09
    • 1970-01-01
    • 2021-07-21
    • 2018-03-03
    相关资源
    最近更新 更多