我想可视化网络,以使节点基于每个节点的变量在垂直轴上对齐。有点难以解释,但这是一张(低质量)图像
因此,每个节点都有一个值,并且图形被可视化,因此这些值在垂直轴上对齐。在上图中,绿色节点的值介于0和1之间,蓝色节点的值介于1和2之间,黄色节点的值至少为2。
有什么想法,如果我使用邻接矩阵坐席,如何在Python中实现?
答案 0 :(得分:1)
您可以使用库NetworkX创建图形,并使用matplotlib显示图形。
如何创建简单图形:
import networkx as nx
graph = nx.Graph()
graph.add_node('A')
graph.add_node('B')
graph.add_node('C')
graph.add_edge('A', 'B')
graph.add_edge('B', 'C')
graph.add_edge('A', 'C')
然后您可以显示它:
import matplotlib.pyplot as plt
plt.figure()
nx.draw(graph, with_labels=False)
plt.show()
在绘制节点时,还可以通过将参数pos
传递到nx.draw
来更改节点的垂直位置
nx.draw(graph, with_labels=False, pos={'A':(0, 0), 'B':(0,3), 'C':(2,3)})
还请记住使用plt.xlim()
和plt.ylim()