【发布时间】:2013-11-19 14:51:25
【问题描述】:
我有 3 个数组 x,y,c,其中 c 的每个值是 x,y 的强度,范围大约在 -3 和 3 之间
我想将每个点绘制为一个实心圆,颜色由强度c 确定。
我尝试过使用scatter(x,y,10,c),但这基本上会使我的计算机崩溃,因为数据太多。
注意每个数组包含大约 500,000 个数据点。
有没有更好的方法可以绘制这个?
【问题讨论】:
-
您是否尝试过将其分成几块并在同一个图上分别绘制?例如:
scatter(x(1:5e4),y(1:5e4),10,c(1:5e4)); hold on; scatter(x(5e4+1:10e4),y(5e4+1:10e4),10,c(5e4+1:10e4))等 -
如果即使 scatter 也不会崩溃,考虑到这么多的点,我怀疑这个情节会有所帮助。也许您应该考虑对数据进行直方图并绘制它,例如通过
pcolor在一种热图中。如果 (x,y) 对已经不同,您几乎可以直接使用 pcolor ... -
我在使用 Kinect 的点云时遇到了同样的问题。我使用 PCL 通过 Mex 进行渲染,或者只使用系统命令调用视图,因为我需要超过 200 万个点。
标签: matlab plot scatter-plot scatter