【问题标题】:How to add density information to a 2D-plot in Matlab?如何在 Matlab 中将密度信息添加到二维图?
【发布时间】: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


【解决方案1】:

您可能想试试这个来自 MATLAB Central File Exchange 的 smoothed histogram 图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2011-05-31
    • 2015-12-20
    • 2017-05-09
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多