相关疑难解决方法(0)

提升ggplot2的性能

ggplot2软件包很容易成为我曾经使用过的最好的绘图系统,除了性能对于较大的数据集(约50k点)并不是很好.我正在考虑通过Shiny提供网络分析,ggplot2用作绘图后端,但我对性能并不满意,特别是与基本图形相比.我的问题是,是否有任何具体方法来提高这种表现.

起点是以下代码示例:

library(ggplot2)

n = 86400 # a day in seconds
dat = data.frame(id = 1:n, val = sort(runif(n)))

dev.new()

gg_base = ggplot(dat, aes(x = id, y = val))
gg_point = gg_base + geom_point()
gg_line = gg_base + geom_line()
gg_both = gg_base + geom_point() + geom_line()

benchplot(gg_point)
benchplot(gg_line)
benchplot(gg_both)
system.time(plot(dat))
system.time(plot(dat, type = 'l'))
Run Code Online (Sandbox Code Playgroud)

我的MacPro视网膜上有以下时间:

> benchplot(gg_point)
       step user.self sys.self elapsed
1 construct     0.000    0.000   0.000
2     build     0.321    0.078   0.398
3    render     0.271    0.088   0.359 …
Run Code Online (Sandbox Code Playgroud)

performance r ggplot2

22
推荐指数
1
解决办法
4697
查看次数

标签 统计

ggplot2 ×1

performance ×1

r ×1