当前位置: 代码迷 >> 其他开发语言 >> 怎么用matlab绘制网络拓扑图(用于研究复杂网络,求聚类系数、平均路径长度、度分布等参数)
  详细解决方案

怎么用matlab绘制网络拓扑图(用于研究复杂网络,求聚类系数、平均路径长度、度分布等参数)

热度:383   发布时间:2016-05-02 04:03:48.0
【求助】如何用matlab绘制网络拓扑图(用于研究复杂网络,求聚类系数、平均路径长度、度分布等参数)
现在我有一批数据,如下表,列A,列B都表示节点序号,一行表示一条边,如第2行表示节点1和节点2相连的边,以此类推,那么网络中所有的边、点的关系都已经确定了,如何把这个拓扑数据输入到matlab中绘制出一个网络拓扑图呢?我是初学者,因其他学习需要用到这个图,希望大家一起交流!有过这方面经验的同学麻烦指教一下,非常感谢!
列A 列B
1 2
1 5
1 9
2 3
2 9
3 1
3 4
4 7
5 8
6 2
7 8
7 9
8 1
8 2
8 4
9 5
9 6


网络拓扑图链接:
http://xiangce.baidu.com/picture/detail/21db357f73137ff91dde5ab0a2d6c3d05d071f78

【怎样编程,得到如下图的拓扑图(实际的节点比较多,这里只是举例)】


------解决方案--------------------
用python画吧
不过点太多的话会崩

我写的代码:
import networkx as nx
import matplotlib.pyplot as plt
f = file('in.txt','r')
factor = 1
G = nx.Graph()
while 1:
    data = f.readline();
    x = int(str(data.split(' ')[0]))
    y = int(str(data.split(' ')[1]))
    G.add_edge(x,y);
    factor = factor + 1
    if factor == 17:
        break
else:
    print 'error'
nx.draw(G)
plt.show()
  相关解决方案