我有一个数据集,其中包含连续四天的每一秒的观察结果(大约 340'000 个数据点)。这太多了,无法在散点图中显示。我只想绘制一个统一的样本,比如 2000 个时间点。
ggplot2
是否可以通过“图形语法”方法来实现这一点?我还没有找到任何内置的“采样”修饰符,但也许写一个很容易?
library(ggplot2)
x <- 1:100000
d <- data.frame(x=x, y=rnorm(length(x)))
ggplot(d[sample(x, 2000), ], aes(x=x, y=y)) + geom_point()
这就是通过修改传递给 ggplot 的数据来“破解”它的方式。但我不想修改数据,只需过滤它以仅包含一个样本。
ggplot(d, aes(x=x, y=y)) + ??? + geom_point()
编辑:我专门寻找采样,而不是平滑或分箱。我拥有的数据显示了模拟特定过程的一秒钟所需的时间。模拟已经并行化,对于每个模拟秒,我都有所涉及的每个内核的运行时间(总共 8 个)。我想通过仅绘制原始数据点来显示次优负载平衡。采样的原因只是 300'000 个数据点对于散点图来说太多了:绘图时间太长而且可视化效果不好。