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



我目前正在练习R,但当我试图用ggplot2运行我的散点图时发现了一个问题,该散点图只有700kb的数据集。我不知道为什么它会响这么久,我的意思是大约5-10秒,只是为了运行情节。我的电脑是i7700HQ,16gb的ram

这很正常,通过在散点图上绘制超过1k或10k个点,无法期望良好的渲染(和合理的渲染时间(。这被称为"过度抽签"。您可以做的事情:用geom_hex()stat_density_2d()替换geom_point()

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

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

这实际上取决于你使用的绘图库,但从大小来看,你似乎绘制了大约100000个点,5秒对我来说并不太长。如果使用绘图函数,这里有一些比较可能会有所帮助:用于大型数据集的加速plot((函数https://www.r-bloggers.com/accelerating-ggplot2-use-a-canvas-to-speed-up-rendering-plots/.

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

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可以显著提高性能。

最新更新