0

我有一个graphML代表多个 SQL 表(节点和边)之间关系的文件。

我正在使用 networkx 来解析文件并matplotlib绘制它。我遇到的问题是我的图表很大(大约 150 个节点)并且难以阅读。我在计算机图形/绘图方面没有任何经验,最终结果看起来很乱,有没有办法在不减少节点总数的情况下提高图形的可读性(例如另一个库,更大的图像......)?

在此处输入图像描述

import networkx as nx
import matplotlib.pyplot as plt

        
input_graph = nx.read_graphml("graph.graphml")
    
to_remove = []
for node, data in input_graph.nodes(data=True):
    if data['zone'] != 'gold' or input_graph.degree(node) == 0: 
       to_remove.append(node)
    
input_graph.remove_nodes_from(to_remove)
nx.draw(input_graph, with_labels=True)
plt.show()
4

1 回答 1

1

一些选项是:

  • 缩短节点标签并使用颜色来区分节点的组/类别(例如,属于组 A 的节点用红色着色,属于 B 的节点用蓝色等);

  • 尝试布局:默认布局是spring 布局,但另一种布局可能会给您带来更少的混乱,例如圆形布局

  • 使用数据着色器的边缘捆绑

于 2022-01-15T13:18:39.170 回答