You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何可视化具有图结构特征的JSON数据

几种适配该JSON结构的简单可视化方案

以下方案都原生支持你这种带循环引用的有向图结构,不需要额外处理环的问题

方案1:Python + Graphviz 本地快速生成图片

  • 先安装依赖:pip install graphviz,同时安装对应系统的Graphviz运行环境即可使用
  • 参考实现代码:
import json
from graphviz import Digraph

# 加载本地JSON文件
with open("your_graph.json", "r", encoding="utf-8") as f:
    graph_data = json.load(f)

# 初始化有向图实例
dot = Digraph()

# 批量添加节点,可自定义展示节点的field属性
for node_name in graph_data:
    node_info = graph_data[node_name]
    label = f"{node_name}\nfield1:{node_info['field1']}\nfield2:{node_info['field2']}"
    dot.node(node_name, label)

# 批量添加有向边
for from_node in graph_data:
    for to_node in graph_data[from_node]["next"]:
        dot.edge(from_node, to_node)

# 导出为png图片,也可指定导出为pdf、svg等格式
dot.render("graph_result", format="png", view=True)

运行后会直接生成可视化图片,节点多的场景也适配。

方案2:Mermaid 零代码轻量渲染

大部分常用笔记软件(Obsidian、Notion等)、代码编辑器(VS Code安装Mermaid插件后)都原生支持Mermaid语法渲染,你只需要把JSON内容转换成Mermaid有向图格式即可:

flowchart LR
    A["A<br>field1:X<br>field2:Y"] --> B
    B["B<br>field1:X<br>field2:Y"] --> C
    B --> D
    C["C<br>field1:X<br>field2:Y"] --> A
    D["D<br>field1:X<br>field2:Y"] --> C
    D --> E
    E["E<br>field1:X<br>field2:Y"] --> C
    E --> D

节点量大的场景可以写个简单脚本,批量从JSON生成Mermaid语法即可。

方案3:前端可视化实现

如果需要放到网页端做交互展示,用ECharts的关系图组件即可实现,只需要把你的JSON转换成ECharts要求的nodes、links数据格式,还可以支持拖拽节点、缩放、点击节点展示详情等交互。

内容的提问来源于stack exchange,提问作者Francesco Bonesi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:45:04