我想知道matlab是否有一些工具箱的功能来以这种以集线器为中心的方式绘制网络:
我有节点的连接矩阵。边缘和颜色的方向不是那么重要。只需要以中心为中心的风格。我检查了传记工具箱,但它似乎是随机绘制网络。我在网上找到了一些用其他语言实现的工具或商业软件。或者matlab根本做不到?有没有人对此有任何想法?
答案 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不是问题,谷歌代码项目看起来是一个非常好的解决方案。