python中相似矩阵外的Networkx图

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

我第一次尝试图书馆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.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等图形绘图软件中创建“漂亮”的视觉效果可能会更容易