src/visualize¶
阶段 5 模块,负责生成交互式 HTML 可视化。
函数¶
build_networkx_graph(graph_json_path: str) → nx.DiGraph¶
从 JSON 文件加载知识图谱到 NetworkX DiGraph。
参数:
| 名称 | 类型 | 说明 |
|---|---|---|
graph_json_path |
str |
knowledge_graph.json 的路径 |
返回值: NetworkX 有向图。
create_network_viz(G: nx.DiGraph, output_path: str) → None¶
使用 Pyvis 生成交互式力导向网络图。
参数:
| 名称 | 类型 | 说明 |
|---|---|---|
G |
nx.DiGraph |
知识图谱 |
output_path |
str |
输出 HTML 文件路径 |
特性:
- 节点按类型着色(金色=得主、浅蓝=论文、绿色=概念、橙色=奖项、紫色=领域)
- 节点大小按度数缩放
CROSS_INSPIRED边以红色高亮且加粗- Barnes-Hut 物理模拟布局
- HTML 图例叠加层
create_timeline_viz(G: nx.DiGraph, output_path: str) → None¶
使用 Plotly 生成概念时间轴散点图。
参数:
| 名称 | 类型 | 说明 |
|---|---|---|
G |
nx.DiGraph |
知识图谱 |
output_path |
str |
输出 HTML 文件路径 |
特性:
- X 轴:年份,Y 轴:领域
- 标记大小按连接数缩放
CROSS_INSPIRED边以红色箭头注释- 悬停显示概念详情
create_heatmap_viz(G: nx.DiGraph, output_path: str) → None¶
使用 Plotly 生成领域间跨学科热力图。
参数:
| 名称 | 类型 | 说明 |
|---|---|---|
G |
nx.DiGraph |
知识图谱 |
output_path |
str |
输出 HTML 文件路径 |
特性:
- 源领域 × 目标领域的方阵
- YlOrRd 配色
- 悬停显示精确迁移计数
run() → None¶
执行完整的阶段 5 流水线:
- 加载配置
- 从 JSON 构建图谱
- 生成
network.html - 生成
timeline.html - 生成
heatmap.html