Python - matplotlib - 加权图

3 投票
1 回答
3778 浏览
提问于 2025-04-17 16:12

在Python中,能不能用matplotlib画出加权图呢?我在matplotlib的网站上没找到相关信息。

如果用matplotlib做不到,那我能用别的工具吗?比如说libreoffice可以吗?

基本上,我的数据长这样。

a,b,5
b,c,10
a,c,7

1 个回答

2

找到了答案:这个链接指向了William Stein给出的答案,所有的赞誉都归他。

这里是答案:

试试Sage吧——它是开源的,可以绘制带权重的有向图。例如:

A = random_matrix(ZZ,6, density=0.5)
G = DiGraph(A, format='weighted_adjacency_matrix')  # graph from matrix
H = G.plot(edge_labels=True, graph_border=True)
H.show()             # display on screen
H.save('graph.pdf')  # save plot to vector pdf for inclusion in a paper

这里还有一个由Nick Loughlin在同一页面上给出的建议:

试试Graphviz——它也是开源的,使用起来相当灵活。

它在自动布局等方面表现很好,比如说用Maple来做可能会搞得一团糟。

撰写回答