在Matlab中,我有一个 n^2 x n^2
矩阵 Corr_M
,其中包含一组 n x n
矩阵 M
的所有条目之间的Pearson相关系数,这样 Corr_M(i,j)
是集合中某些 M
的 M(i)
和 M(j)
之间的相关系数 . 请注意 Corr_M
是对称的 .
我想通过显示 M
的不同条目之间的链接来绘制 Corr_M
,其中 M(i)
和 M(j)
之间的链接为彩色,例如,如果 Corr_M(i,j)
为正,则为红色;如果为负,则为蓝色 . 链接的厚度表示相关性有多强(优选地,链接间隔0.1,可能甚至更小,可区分) .
对于 3 x 3
M
,这可能如下所示:
并非所有条目都将被连接,因为其中许多条目不相关(因此相关系数为零不会导致显示链接) . 请注意,未显示自相关 . 诸如在底行中看到的实例(其中天真的实现可能只是将一行放在另一行之上)是有问题的,但是这样的天真实现仍然是非常受欢迎的 .
Is there a standard way of doing this, perhaps with some of the in-built graph-theoretic functions of Matlab (which I, unfortunately, do not know the scope of)?
If there isn't, then how can I implement this?
1 回答
您可以在Matlab中尝试
graph
对象 . 以下示例假定您的Corr_M
是n
xn
矩阵(请参见下文):如果希望节点位于网格中,则需要设置绘制图形的
XData
和YData
属性 .使用
n = 9
它看起来像这样(使用一些随机Corr_M
):图形图的一个问题是您无法更改的非常小的文本 . 如果这很重要,请阅读following suggestion .