【发布时间】:2013-08-07 11:52:56
【问题描述】:
我有两个包含超过 300,000 个数据点的向量。另一个向量表示某些物理量的观测值,另一个表示这些量的预测值。我想在散点图中绘制这些值,以查看我的预测效果如何。
现在我的问题是,在许多情况下,值重叠,因为 Matlab 必须在同一个图上绘制超过 300,000 个值,并且数据点一起形成一个大的单色椭圆形式。一张图片会更好地解释这一点:
这是我的预测与观察的散点图。现在您可以看到这些点重叠很多。蓝线对应于 Y = X 线,在理想情况下,我的许多点应该位于这条线上。
现在我的问题是,根据这张图片,我不能说有多少点靠近这条线,有多少没有。例如,可能是靠近蓝线的点密度非常高,而不靠近线的点相对较少,但我无法从图片中看到这一点,因为这些点由于它们的大而重叠数量。
我的问题是:如何将密度信息添加到图片中,例如下图所示:
在上图中,区域越暗,该区域上的数据点密度越高。我怎样才能在 Matlab 中做到这一点?您是否可以使用二维直方图来实现这一目标?...
感谢您的帮助! =)
【问题讨论】:
-
一两个月前有一个副本,我现在找不到了。那里的建议是使用 2D 直方图,然后将其模糊。但我刚刚发现了这个:mathworks.com/matlabcentral/fileexchange/8577-scatplot 你应该试一试
-
@Dan +1 谢谢,可惜。知道标题大约叫什么吗? =) 我也可以尝试搜索它
-
不,否则我会找到它。不过它有很酷的动画。以下是来自 FEX 的更多内容:mathworks.com/matlabcentral/fileexchange/… 您可以尝试通读他们的代码,看看他们是如何做到的。或者更有可能只是使用它们的功能。
-
如果你有统计工具箱看看 hist3
标签: matlab plot visualization density-plot