制作图表的可视化表示

发布于 2024-10-19 09:03:41 字数 184 浏览 1 评论 0原文

我有一个边缘列表。

(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)

我怎样才能得到这个图的图像?

它应该是自动的,因为这些列表有超过 9000 个(不是开玩笑)。

I have a list of edges.

(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)

How can I get an image of this graph?

It should be automatic, because there are over 9000(not kidding) those lists.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

郁金香雨 2024-10-26 09:03:41

我一直使用 graphviz 来处理这类事情。

I have always used graphviz for this sort of stuff.

魄砕の薆 2024-10-26 09:03:41

您可以使用Python和networkx来绘制它。

import networkx
import pylab
edges = [(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)]
G = networkx.Graph(data=edges)
networkx.draw(G)
pylab.show()

您应该阅读 pylab 的文档,了解如何在不使用 GUI 的情况下将图形另存为图像。您可以使用ast.literal_eval来解析原始列表。例如,如果它存储为文件中一行上的一个图形,您可以执行以下操作:

with open('edges.txt') as f:
    for line in f:
        edges = list(ast.literal_eval(line))
        # drawing goes here

You can draw it with Python and networkx.

import networkx
import pylab
edges = [(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)]
G = networkx.Graph(data=edges)
networkx.draw(G)
pylab.show()

You should read pylab's documentation on how to save the graph as an image without using the GUI. You can use ast.literal_eval to parse the original lists. For example, if it stored as one graph on a line in a file, you can do:

with open('edges.txt') as f:
    for line in f:
        edges = list(ast.literal_eval(line))
        # drawing goes here
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文