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

running scatter plot in R Studio took so long

我目前正在练习 R,但当我尝试使用 ggplot2 运行 我的散点图时发现了一个问题,只有 700kb 的数据集。我不知道为什么花了这么长时间,我的意思是 运行 情节只用了大约 5-10 秒。我的电脑是 i7 7700HQ,内存为 16gb

这很正常,您不能期望通过在散点图上绘制超过 1k 或 10k 的点来获得良好的渲染(和合理的渲染时间)。这叫做"overplotting"。您可以做什么:将 geom_point() 替换为 geom_hex()stat_density_2d()

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

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

这实际上取决于您使用的是什么绘图库,但从大小来看,您似乎正在绘制大约 100000 个点,这 5 秒对我来说并不算长。如果在这里使用 plot 函数是一些比较,这可能有助于此来源: Speed up plot() function for large dataset and https://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 性能可以大大提高。