如何在Python中绘制kNeighbors的加权图

2024-03-28 15:10:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经用scikit-learn创建了一个k-邻域的加权图,我想知道是否有任何方法可以将它绘制成一个图。你知道吗

下面是以数组的形式计算的结果,我想画出来:

array([[0.        , 2.08243189, 0.        , 3.42661108],
       [2.08243189, 0.        , 3.27141008, 0.        ],
       [0.        , 3.27141008, 0.        , 1.57294787],
       [0.        , 3.29779083, 1.57294787, 0.        ]])

我只需要一些数据的可视化,这就是我所需要的。你知道吗


有关阵列的详细信息:

每行表示一个节点,每列表示该节点与其他节点的连接权重。你知道吗

例如:第一行的第二列(2.08243189)是从第一个节点到第二个节点的连接权。
另一个示例:第二行,第二列(0):从节点2到自身的连接的权重。你知道吗

这些数字表示欧几里德距离。你知道吗


Tags: 数据方法示例节点可视化绘制详细信息数字
1条回答
网友
1楼 · 发布于 2024-03-28 15:10:59

你说的是像这样简单的事情吗,点的大小给出了一个相对于其他值的相对权重的视觉指示?假设数组名为ar:

for i in range(len(ar)):
    for j in range(len(ar)):
        v = ar[i,j]        
        plt.scatter(i+1,j+1,lw=0,s=10**v)
        plt.grid(True)
        plt.xlabel('Row')
        plt.ylabel('Column')
        ticks = list(range(1,1+len(ar)))
        plt.xticks(ticks)
        plt.yticks(ticks)

enter image description here

相关问题 更多 >