在matplotlib中绘制散点图并保存为矢量格式(在本例中为PDF)时,生成的文件大小随点数的增加而增大。你知道吗
因为我有很多点有大量的重叠点,所以我设置alpha=.2
来看看这些点的分布有多密集。在中心区域,这将导致显示的颜色与alpha=1
的外观相等。你知道吗
在将图形保存到矢量化文件时,是否有任何方法可以“裁剪”这些区域(例如,通过在指定距离内组合重叠点),从而保存某种区域而不是保存每个点?你知道吗
我忘记提到的是:因为我需要绘制多个变量的相关性,所以我需要一个(nxn)散点图矩阵,其中n
是变量的数量。这阻碍了hexbin
或其他方法的使用,因为我必须自己创建一个完整的绘图网格。你知道吗
例如:
fig_sc = plt.figure(figsize=(5, 5))
ax_sc = fig_sc.gca()
ax_sc.scatter(
np.random.normal(size=100000),
np.random.normal(size=100000),
s=10, marker='o', facecolors='none', edgecolors='black', alpha=.3)
fig_sc.savefig('test.pdf', format='pdf')
这将导致文件大小约为1.5MB,因为每个点都已保存。我可以通过合并重叠点来“缩小”这张图片吗?你知道吗
我尝试了几个选项,比如设置dpi=300
和transparence=False
,但是由于PDF将图形存储为矢量化图像,所以这自然不会改变任何东西。你知道吗
可能有用但有缺点的东西:
有什么想法吗?
提前谢谢!你知道吗
这可能是一个欺骗,但你可以保存它作为一个.png文件,然后插入到pdf画布通过乳胶和适合的文件页边距的数字。你知道吗
也许您想改变您的方法并使用与散点图不同的方法,将数据集的低采样任务留给Numpy和Matplotlib—换句话说,使用Numpy的
histogram2d
和Matplotlib的imshow
网格排列(这次使用
hexbin
)相关问题 更多 >
编程相关推荐