如何使用 TinkerPop 打印出图像?

How to use TinkerPop to print out an image?

例如,给出这张图:

gremlin> graph = TinkerFactory.createModern() (1)
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal(standard())        (2)
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().has('name','marko').out('knows').values('name') (3)

我想从控制台打印此图的 PNG 文件。文档没有说明如何操作。提前致谢。

TinkerPop 不直接提供图形可视化选项。你能做的最好的是:

  1. 使用 Gephi plugin 可视化您的图形,然后将该可视化保存到图像中。
  2. 将图表导出到 GraphML,然后将其导入可视化工具,如 Gephi, Cytoscape 等,然后导出从那里生成的图像。

如果您完全使用 Python,networkx 和 matploitlib 库可以读取 GraphML 文件并呈现它。我在带有 Gremlin Python 运行 的 Python Notebook 中使用了它,我在其中提取了一个子图到 GraphML 并使用 Python.

渲染它

代码如下:

import matplotlib
import matplotlib.pyplot as plt
import networkx as nx

G = nx.parse_graphml(mygraph)

label = nx.get_node_attributes(G, "code")
plt.figure(figsize=(11,11))
nx.draw(G, node_color="#ffaa00",node_size=1200,labels=label,arrows=False)

如果我的 Python 丑陋,请提前致歉 我更像是 Ruby 和 Groovy 的人:-)