将表格数据转换为 graphviz DOT 格式

发布于 2024-12-10 14:52:43 字数 305 浏览 0 评论 0原文

我有表格数据,其中包含构成记录的以下字段:

  • SourceID
  • SourceLabel
  • SourceGroupID
  • TargetID
  • TargetLabel
  • TargetGroupID

我想以编程方式或作为脚本的一部分将此数据转换为 graphviz DOT 格式。特别是,我想根据节点的 GroupID 对节点进行集群。

这似乎是一项常见任务——是否有现有的工具/代码(最好是 Python 或 R)示例可以执行此操作?

I have tabular data with the following fields constituting a record:

  • SourceID
  • SourceLabel
  • SourceGroupID
  • TargetID
  • TargetLabel
  • TargetGroupID

I would like to convert this data to graphviz DOT format either programmatically or as part of a script. In particular, I would like to cluster nodes according to their GroupID.

This seems like it would be a common task--are there existing tools / code (preferably Python or R) examples that do this?

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

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

发布评论

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

评论(1

苯莒 2024-12-17 14:52:43

听起来 Python 的 NetworkX 库 可能可以满足您的需求。您需要做的是在边缘列表中读取(请参阅 networkx.readwrite .edgelist),处理它以创建组或您需要的任何其他内容,并写出 Graphvis 点文件(请参阅networkx.drawing.nx_pydot.write_dot) 。

NetworkX 可以在没有 Graphvis 的情况下自行进行其他图形可视化(画廊docs),并且可以导出许多其他格式,包括 GraphML。有大量的开源工具可以导入 GraphML 来可视化图形,例如
NodeXL,一个出色的入门工具,可将网络分析集成到 Excel 2007/2010 中(免责声明:我'我是它的顾问)。其他很棒的工具包括 GephiCytoscape,而PajekUCINet 是一些专有的替代方案。

It sounds like the NetworkX library for Python might do what you want. What you need to do is read in an edge list (see networkx.readwrite.edgelist), process it to create the groups or anything else you need, and write out the Graphvis dot file (see networkx.drawing.nx_pydot.write_dot).

NetworkX can do other graph visualizations on its own without Graphvis (gallery, docs), and can export many other formats including GraphML. There are tons of open source tools to visualize graphs that can import GraphML, like
NodeXL, a great introductory tool that integrates network analysis into Excel 2007/2010 (Disclaimer: I'm an advisor for it). Other awesome tools include Gephi and Cytoscape, while Pajek and UCINet are some proprietary alternatives.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文