python中相似矩阵外的Networkx图
我第一次尝试图书馆networkx,尝试使用我制作的一个大约有500个元素的不相似矩阵绘制一个图python中相似矩阵外的Networkx图,python,matrix,graph,networkx,Python,Matrix,Graph,Networkx,我第一次尝试图书馆networkx,尝试使用我制作的一个大约有500个元素的不相似矩阵绘制一个图 array([[0. , 0.56666667, 0.41666667, ..., 0.8037037 , 0.89814815, 0.86296296], [0.56666667, 0. , 0.35833333, ..., 0.73703704, 0.91481481, 0.87037037], [0.416
array([[0. , 0.56666667, 0.41666667, ..., 0.8037037 , 0.89814815,
0.86296296],
[0.56666667, 0. , 0.35833333, ..., 0.73703704, 0.91481481,
0.87037037],
[0.41666667, 0.35833333, 0. , ..., 0.8037037 , 0.98148148,
0.86296296],
...,
[0.8037037 , 0.73703704, 0.8037037 , ..., 0. , 0.67777778,
0.85740741],
[0.89814815, 0.91481481, 0.98148148, ..., 0.67777778, 0. ,
0.78518519],
[0.86296296, 0.87037037, 0.86296296, ..., 0.85740741, 0.78518519,
0. ]])
我想找到一种很好的视觉方式来显示基于它们之间距离的关系
我试过了
import networkx as nx
G = nx.from_numpy_matrix(dismatrix)
G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())),string.ascii_uppercase)))
nx.draw(G, with_labels=True, font_weight='bold')
我发现结果并不是那么好。。你们有什么方法可以改进它或者从中展示一些东西吗
您有几个选择。
首先,您可以应用社区检测算法,该算法使用您的边缘权重(相异性)来查找相似节点的组。然后可以使用这些标签为节点着色
其次,您可以简单地使用阈值修剪边,例如仅保留相似度>=0.75的边
在这两种情况下,您都需要查看在绘图中使用的networkx布局。这些包括:弹簧、光谱、圆形等。一旦有了图形,在Gephi等图形绘图软件中创建“漂亮”的视觉效果可能会更容易 您有几种选择。
首先,您可以应用社区检测算法,该算法使用您的边缘权重(相异性)来查找相似节点的组。然后可以使用这些标签为节点着色
其次,您可以简单地使用阈值修剪边,例如仅保留相似度>=0.75的边
在这两种情况下,您都需要查看在绘图中使用的networkx布局。这些包括:弹簧、光谱、圆形等。一旦有了图形,在Gephi等图形绘图软件中创建“漂亮”的视觉效果可能会更容易