包装R的绘图函数(或ggplot2)以防止绘制大型数据集
发布时间:2020-12-14 05:14:02 所属栏目:大数据 来源:网络整理
导读:而不是询问如何绘制大数据集,我想包装绘图,以便生成大量绘图的代码在绘制大对象时不会受到重创.如何以非常简单的方式包装绘图,以便保留其所有功能,但首先测试以确定传递的对象是否太大? 这段代码适用于非常普遍的绘图调用,但它缺少与绘图相同的通用性(见下
而不是询问如何绘制大数据集,我想包装绘图,以便生成大量绘图的代码在绘制大对象时不会受到重创.如何以非常简单的方式包装绘图,以便保留其所有功能,但首先测试以确定传递的对象是否太大?
这段代码适用于非常普遍的绘图调用,但它缺少与绘图相同的通用性(见下文). myPlot <- function(x,...){ isBad <- any( (length(x) > 10^6) || (object.size(x) > 8*10^6) || (nrow(x) > 10^6) ) if(is.na(isBad)){isBad = FALSE} if(isBad){ stop("No plots for you!") } return(plot(x,...)) } x = rnorm(1000) x = rnorm(10^6 + 1) myPlot(x) 失败的示例: x = rnorm(1000) y = rnorm(1000) plot(y ~ x) myPlot(y ~ x) 是否有一些简单的方法来包装绘图,以便能够对要绘制的数据进行检查,同时仍然通过所有参数?如果没有,那么ggplot2怎么样?我是一个平等的机会非绘图员. (在数据集很大的情况下,我将使用hexbin,子采样,密度图等,但这不是重点.) 注1:在测试想法时,我建议测试尺寸> 100(或设置变量,例如myThreshold< -1000),而不是大小> 1M – 否则在缓慢绘图方面会有很多痛苦. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |