什么硬件限制了R的绘图速度?

Dav*_*uer 13 hardware graphics plot r ggplot2

我想提高绘图的速度,我很满意(并且需要很多代码)R图形和ggplot包 - 所以我只想知道如何配置我的系统来加速绘图.

特别:

  1. R中的绘图速度是否受处理器,内存,显卡的限制?
  2. 是否有特定的硬件组件或配置会增加绘图速度?

更新:评论中的问题答案:

规格:Ubuntu 11.04,intel Core Duo,8GB ram,但我更感兴趣的是图形计算或图形渲染是限制性的,如果是这样,我该如何使用这些信息.

我的情节有很多对象,但我不知道绘图的计算成本是多少.我在绘图时没有做任何具体的分析(我在完成任何必要的分析之后进行绘图),虽然我知道有些是"动态"完成的,就像绘制平滑线或甚至将数据转换到位置时一样.

Xu *_*ang 9

除非你有计算机密集型单一图,否则加速多次绘图的好方法是并行处理.例如,假设您有一个数据帧,并且您希望通过某个变量(或变量)将其分解,并为每个分区绘制图表.

注册并行后端的方法有很多种,所以我不再赘述.例如,请参阅此插图:http://cran.r-project.org/web/packages/doSMP/vignettes/gettingstartedSMP.pdf

然后查看ddplyHadley plyr软件包中的函数并使用该.parallel = TRUE选项.基本上就是这样.然后只是正常绘图.

这是一个自包含的例子:

#this is the particular library I chose to register a parallel backend. There are others. See the new "Parallel R" book for details.
library(doMC)
registerDoMC()
getDoParWorkers() #This lists how many workers you have (hopefully more than 1!)

library(ggplot2)
ddply(
        mtcars, .variables = "vs", .fun = function(x) {
        #do your plotting now 
        example_plot <- ggplot(x, aes(y = mpg, x = wt)) + geom_point() + geom_smooth(se = FALSE)
        #save your plot
        ggsave(paste(x$vs[1],".pdf",sep = ""), example_plot)
        },
        .parallel = TRUE
)
Run Code Online (Sandbox Code Playgroud)

这将保存两个文件,即.pdf和1.pdf,它们是数据帧vs变量的级别(即唯一值)mtcars.如果您将其分解为变量,country name则保存的文件将是国家/地区的名称.0.pdf和1.pdf如下:

在此输入图像描述

在此输入图像描述

  • 很好的例子,但公平地说,有时使用格而不是ggplot(2)会有所帮助.它可以更快. (3认同)