考虑绘图100个重叠点的下面的例子:GGPLOT2ž削波:以重叠的堆叠移除不必要的点
ggplot(data.frame(x=rnorm(100), y=rnorm(100)), aes(x=x, y=y)) +
geom_point(size=100) +
xlim(-10, 10) +
ylim(-10, 10)
我现在要保存的图像作为矢量图形,例如在PDF中。这对上面的例子来说不是问题,但是一旦我获得了超过一百万个点(例如从火山图),文件大小可能超过100MB,并且需要很长的时间才能显示或编辑。
在上述例子中相同的形状可能仍然可以通过任一
- 转换点的形状的轮廓,或
- 表示保持几个百分点并丢弃其余部分。
是否有任何方法(或最好是已经做到这一点的工具)从一个永远不可见的情节中删除点? (理想地支持透明度)
到目前为止我听到的最好方法是圆点的位置并移除具有> N个点的网格点,然后使用剩余点的原始位置。有更好的吗?
请注意,这应该与一个任意结构的点,只有删除那些不可见。
你能使用geom_tile()或geom_raster()呢?它基本上是一个3D直方图,因此它将汇总每个单元格的数据,您可以使用“断点”参数尽可能小。如果这很有用,它还会显示每个单元格中有多少个点(即有多少点重叠),但是您可以手动将填充设置为黑色并使用不会更改的变量(或组成虚拟列如果它需要看起来像你的例子。 [链接](http://docs.ggplot2.org/current/geom_tile.html) – RTB
不是。我想保持原样,但是对用户来说永远不会看到的点。 –