我有一个由顶点和边表示的图的文本文件(邻接列表)。有没有一个工具来创建一个图形的可视化,它可以读取一个文本文件?
文本文件的格式为
0 1 2
1 3 6
2 3 7
3 4
4 5
5 6 7
6 8
7 8
它是一个无向图。0 1 2表示0个邻居1,0个邻居2,反之亦然,因为它是无向的.
谢谢
鲁珀特
我很好的图形可视化工具是GraphViz。Graphviz使用点格式。你可以这样写你的图形:
strict graph {
0 -- 1;
0 -- 2;
1 -- 3;
1 -- 6;
2 -- 3;
2 -- 7;
3 -- 4;
4 -- 5;
5 -- 6;
5 -- 7;
6 -- 8;
7 -- 8;
}
若要生成图形的图像,请执行
dot -Tpng g.dot > g.png
生成以下图像:
您可以将dot
配置为使用不同的布局。
如果您的图形很大,并且手动转换为点格式是不可行的,那么您可以使用以下python脚本(它使用带有pygraphviz的networkx),读取您的adj格式并生成点格式的文件:
import networkx as nx
import os
import sys
inf = sys.argv[1]
out = os.path.splitext(inf)[0] + '.dot'
g = nx.Graph()
for line in open(inf).readlines():
adj = list(map(int, line.split()))
u = adj[0]
for v in adj[1:]:
g.add_edge(u, v)
nx.write_dot(g, out)
若要执行此脚本,请执行
python script.py graph.txt
将生成一个名为graph.dot
的文件。
本文向大家介绍图的边和顶点,包括了图的边和顶点的使用技巧和注意事项,需要的朋友参考一下 图是一组称为节点或顶点的点,它们由一组称为edge的线互连。图形或图形理论的研究是数学,工程学和计算机科学领域中许多学科的重要组成部分。 图论 定义-图形(表示为G =(V,E))由一组非空的顶点或节点V和一组边缘E组成。顶点a 表示边缘的端点。一条边连接两个顶点a,b ,并由其连接的一组顶点表示。 示例-让我
图的变换有什么算法或名称吗?可以把边变换成顶点,顶点变换成边?这样我们就可以得到一个新的图形或者类似的问题?我不确定这是否真的有意义,但我会很高兴,如果你能给我任何关于这样一个问题的提示。
GraphX暴露保存在图中的顶点和边的RDD。然而,因为GraphX包含的顶点和边拥有优化的数据结构,这些数据结构提供了额外的功能。顶点和边分别返回VertexRDD和EdgeRDD。这一章 我们将学习它们的一些有用的功能。 VertexRDDs VertexRDD[A]继承自RDD[(VertexID, A)]并且添加了额外的限制,那就是每个VertexID只能出现一次。此外,VertexRDD
所以我正在研究这个问题: 这是我目前所掌握的 首先,我想对我的答案再作核实。我对有向图不是那么熟悉,对算法的效率/复杂度也不是特别熟练。我想我做得对,但如果我需要的话,我想要一些帮助。我也在寻找任何想法,使它更有效率。这些是我脑海中最先出现的算法,所以我觉得可能有更好的方法来实现它。 谢谢
问题内容: 我想打开一个本地文件,并返回一个。原因是我需要向正在使用的库中提供,例如: 问题答案: 返回一个 http://play.golang.org/p/BskGT09kxL
问题内容: 我试图允许用户下载包含其操作定义的数据的CSV文件。该文件不存在,它是动态创建的。如何在Flask中做到这一点? 问题答案: 使用生成数据并传输响应。使用写入内存缓冲区,而不是生成中间文件。 如果该generate函数需要从current中获取信息request,则应使用修饰stream_with_context,否则您将收到“在外部请求上下文中工作”错误。其他所有内容保持不变。