在R Studio中运行散点图花费了很长时间

时间:2020-04-10 13:01:11

标签: r scatter-plot

我目前正在练习R,但是当我尝试使用仅700kb数据集的ggplot2运行散点图时,发现了一个问题。我不知道为什么要花这么长时间,我的意思是只需要5到10秒钟就能完成剧情。我的电脑是i7 7700HQ和16GB的内存

2 个答案:

答案 0 :(得分:0)

这很正常,您无法通过在散点图中绘制超过1k或10k的点来期望获得良好的渲染(以及合理的渲染时间)。这称为“过度绘图”。您可以做什么:将geom_point()替换为geom_hex()stat_density_2d()

如果您特别需要散点图,建议您尝试rasterly。它将首先以一种智能的方式聚合以生成栅格,然后渲染输出。

特别是如果要将图表导入另一个文档中,则需要限制要显示的对象的大小和数量(对于矢量图像来说很重要)。

答案 1 :(得分:0)

这实际上取决于您使用的是什么绘图库,但是查看大小,似乎您正在绘制约100000点,这对我来说5秒钟似乎不太长。如果使用绘图功能,请从以下来源进行一些比较: Speed up plot() function for large datasethttps://www.r-bloggers.com/accelerating-ggplot2-use-a-canvas-to-speed-up-rendering-plots/

我已经在笔记本电脑上运行了以下代码,这就是我获得的781.3 Kb的结果:

x <- seq(1, 1000, length.out = 100000)

system.time(plot(x))
    user  system elapsed 
    0.28    3.00    3.42 
system.time(plot(x,pch=20))
    user  system elapsed 
    0.45    5.81    6.31 
system.time(plot(x,pch='.'))
    user  system elapsed 
    0.13    0.92    1.09 

您可以看到使用pch可以显着提高性能。