我有一个与
这里有一个玩具示例(但大约是正确的大小),使用
这是使用
R
/ggplot2
相关的使用案例,似乎需要使用geom_raster
:在x、y位置具有z值的常规笛卡尔网格。我一直在使用geom_tile
,并且从切换到geom_raster
中期望获得性能提升。但是我好像没有看到这个性能提升...这里有一个玩具示例(但大约是正确的大小),使用
base
图形:n <- m <- 200
x <- 1:n
y <- 1:m
f <- function(x, y) 10 * sin(x / n) * cos(y / m)
z <- outer(x, y, f)
system.time(image(z))
user system elapsed
0.998 0.007 1.023
这是使用
ggplot2
的结果:obs <- expand.grid(x=x, y=y)
obs$z <- as.numeric(as.list(z))
require(ggplot2)
p <- ggplot(obs, aes(x=x, y=y, fill=z))
system.time(show(p + geom_tile()))
user system elapsed
7.328 0.891 8.187
require(ggExtra)
system.time(show(p + geom_raster()))
user system elapsed
7.000 0.637 7.799
所以,收益不算太多,但远远达不到我的预期。我是做错了吗?非常感谢您的帮助!