Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 如何确定函数是否生成图形_Graphics_R - Fatal编程技术网

Graphics 如何确定函数是否生成图形

Graphics 如何确定函数是否生成图形,graphics,r,Graphics,R,有没有办法确定函数是否在R中生成图形 例如,如果我们有函数f和g 我想我能跑 createFigure(f(x,y))#Returns TRUE createFigure(g(x,y))#Returns FALSE 如果出于您的目的,可以先关闭所有设备,然后再进行检查,那就多谢了。设备会很好,因为打印命令会生成一个新设备。但是lines()和points()将是例外 事实上,这表明这个问题不仅有正确或错误的答案,而且取决于条件。有些函数即使没有打开的设备也会绘制一些东西,而有些函数如果绘制了其

有没有办法确定函数是否在R中生成图形

例如,如果我们有函数f和g

我想我能跑

createFigure(f(x,y))#Returns TRUE
createFigure(g(x,y))#Returns FALSE

如果出于您的目的,可以先关闭所有设备,然后再进行检查,那就多谢了。设备会很好,因为打印命令会生成一个新设备。但是lines()和points()将是例外


事实上,这表明这个问题不仅有正确或错误的答案,而且取决于条件。有些函数即使没有打开的设备也会绘制一些东西,而有些函数如果绘制了其他东西也会绘制一些东西。在这种情况下,您想做什么?

makes\u plot我有一个调用函数的swave文档。如果创建了图形,我会将其包含在Tex文件中。函数来自学生。顺便说一句,科林,我很好奇这样一个函数如何有用?最好是学生提交一些函数作为课程作业。它们的一个函数应该生成一个图形。然后,我使用Swave运行他们的课程作业,并检查其正确性。但是,如果函数不正确并且没有生成任何图形,我就无法编译生成的tex file.IMHO,这是SO的R部分中最被低估的问题。谢谢你的邀请,@hadley,谢谢你帮我度过了这一天!=)+1可能将其包含在ggplot2中,以便随时可用?很好!(min(length(comment))非常好的Hadley…这并不是说,对于lines()、points()、grid()和axis(),当它们不用于实际制作绘图时,也会返回true,只添加到一个。可能对于所有修改绘图的命令都是如此。
makes_plot <- function(x) {
  before <- .Internal(getSnapshot())
  force(x)
  after <- .Internal(getSnapshot())
  !identical(before, after)
}

makes_plot(mean(1:10))
makes_plot(plot(1:10))
makes_plot <- function(x) {
  before <- .Internal(getSnapshot())
  force(x)
  after <- .Internal(getSnapshot())
  !identical(before, after)
}

makes_plot(mean(1:10))
makes_plot(plot(1:10))