Я думаю визуализировать записи и их связи, чтобы показать, что существуют кластеры очень похожие записи.
Каждый кортеж представляет собой пару очень похожих узлов. Я выбрал для всех них вес равный 1, так как это необходимо, но я хочу, чтобы все края были одинаковой толщины.
Я начал с networkx, проблема в том, что я этого не делаю. на самом деле теперь, как сгруппировать похожие узлы вместе с этим пакетом.
У меня есть список соединений в df:
Код: Выделить всё
smallSample =
[[0, 1492, 1],
[12, 937, 1],
[16, 989, 1],
[18, 371, 1],
[18, 1140, 1],
[26, 398, 1],
[26, 1061, 1],
[30, 1823, 1],
[33, 1637, 1],
[54, 1047, 1],
[63, 565, 1]]
Код: Выделить всё
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
for index, row in CC.iterrows():
G.add_edge(CC['source'].loc[index],CC['target'].loc[index], weight =1)
pos = nx.spring_layout(G, seed=7)
nx.draw_networkx_nodes(G, pos, node_size=5)
nx.draw_networkx_edges(G, pos, edgelist=G.edges(), width=0.5)
pos = nx.spring_layout(G, k=1, iterations=200)
plt.figure(3, figsize=(2000,2000), dpi =2)
[img]https://i .stack.imgur.com/YX624.png[/img]
Результат моего реального df, состоящего из тысяч точек:

Как сгруппировать связанные узлы, чтобы лучше видно, сколько их в каждом кластере? Я не хочу, чтобы они так сильно перекрывались, на самом деле не так-то просто понять, сколько их, особенно в большой выборке.
Подробнее здесь: https://stackoverflow.com/questions/780 ... a-networkx