我想知道是否可以删除任何被其他形状完全覆盖的形状?我经常生成粒子的散点图,其中一些粒子彼此靠近,并且由于粒子的数量很容易达到 100k,因此这些图变得非常庞大。
考虑以下简单示例:
import matplotlib.pyplot as plt
import numpy as np
N = 10000
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x,y)
plt.savefig('unseen.pdf')
当使用大于 10000 的 N 值时,大部分圆圈位于其他圆圈下方并且无法看到。然而,当打开生成的 pdf 文件时,所有圆圈都被绘制出来,并且打开文件的时间在增加,即使可见圆圈的数量几乎相同。
是时候在 pdf-viewer 中打开图形了(不管是哪个):
N=10000 > 5s (2.4MB)
N=20000 > 10s (4.8MB)
N=40000 > 20s (9.5MB)
时间和文件大小的线性增加,正如增加圈数时所预期的那样。
有谁知道如何解决这个问题?