如何在matlab中绘制以集线器为中心的网络图?

时间:2013-01-30 02:59:01

标签: networking graph drawing matlab

我想知道matlab是否有一些工具箱的功能来以这种以集线器为中心的方式绘制网络:

hub-centered network diagram

我有节点的连接矩阵。边缘和颜色的方向不是那么重要。只需要以中心为中心的风格。我检查了传记工具箱,但它似乎是随机绘制网络。我在网上找到了一些用其他语言实现的工具或商业软件。或者matlab根本做不到?有没有人对此有任何想法?

1 个答案:

答案 0 :(得分:1)

图形可视化的最佳工具可能是GraphViz:http://www.graphviz.org/

它基本上可以做任何你想要的(在合理范围内)。我们在工具箱中使用它来进行图形化布局。当人们不想重新发明轮子进行图形布局(琐碎,特别是对于大图)时,人们会用它来制作漂亮的图。

有一个Google项目可以将GraphViz放到MATLAB中:http://code.google.com/p/graphviz4matlab/

我还没有使用它,但它看起来很甜美。它是在GPL下发布的,所以如果这是一个问题,我一直在研究的工具箱:http://www.newfolderconsulting.com/prt/对图形可视化工具的支持非常有限。 e.g。

prtPath('alpha');
connMat = [0 1 1 1 1 0; 1 0 1 0 1 0; 1 1 0 0 0 0; 1 0 0 0 0 0; 1 1 0 0 0 0; 0 0 1 0 0 0];
nodeNames = {'pete','kenny','sam','wiki','samantha','elena'};

graph = prtDataTypeGraph(connMat,nodeNames);
graph.plot; 
title('People (and dogs) Who Worked or Lived Together');

在内部,它也使用GraphViz工具,但不是通过谷歌代码项目。

我不能强调如何" alpha" PRT中的图形可视化代码是。如果GPL不是问题,谷歌代码项目看起来是一个非常好的解决方案。