- 名称:网络图
- 别名:关系网络图,关系图,力导向图,Force 图,英文名 Network Graph、Force Graph
- 形状:网络形
- 图表类别:关系图
- 图表功能:关系类
网络图(Network Graph)是一种展示实体(节点)之间的关系(边)的图。通过节点和边的连接,直观地表示复杂的网络结构。每个节点代表一个实体,而每条边则表示两个节点之间的关系或连接。
网络图的关键就是展示“谁跟谁有联系”。比如,节点代表人,连线代表某两个人之间是否认识。
- 适用于展示实体之间的关系,例如社交网络中的人际关系。当文本中涉及多个实体(如人物、事件等)以及它们之间的关联时,并且关注这些复杂的关系。
- 分析复杂网络结构中的模式和特性,例如通信网络中的节点连接情况。
- 展示数据之间的关联性和依赖关系,例如知识图谱中的概念关联。
- 线性流程:需要展示线性流程或步骤的场景,用操作步骤或时间轴更合适。
- 独立数据点:数据点之间没有明显关系或连接,用散点图更为合适。
- 层次结构:需要展示层次结构的场景,用组织结构图或思维导图更合适。
- 连续叙事:当具有明确的顺序关系或变化趋势时,用折线图或面积图更为适合。
type NetworkGraph = {
type: 'network-graph';
data: {
nodes: { name: string }[];
edges: { source: string; target: string; name: string }[];
};
};
- type:图表的类型,必填,文本类型,值必须为 "network-graph"。
- data:图表的数据,必填,对象类型,包含以下字段:
- nodes:网络图中的节点数组,每个节点表示一个实体,必填,数组对象类型;
- name:节点的名称,必须唯一,用于标识节点,必填,文本类型;
- edges:网络图中的边数组,每条边表示两个节点之间的关系,必填,数组对象类型;
- source:边的起始节点名称,指向节点的
name
属性,必填,文本类型; - target:边的目标节点名称,指向节点的
name
属性,必填,文本类型; - name:边的名称,用于标识边,必填,文本类型;
- source:边的起始节点名称,指向节点的
- nodes:网络图中的节点数组,每个节点表示一个实体,必填,数组对象类型;
- 在《哈利波特》系列中,有几个主要人物:哈利·波特、赫敏·格兰杰、罗恩·韦斯莱和伏地魔。哈利·波特是主角,他的两个最好的朋友是赫敏·格兰杰和罗恩·韦斯莱。伏地魔是哈利·波特的主要敌人,曾试图杀死哈利。用网络图可视化。
{
"type": "network-graph",
"data": {
"nodes": [
{ "name": "哈利·波特" },
{ "name": "赫敏·格兰杰" },
{ "name": "罗恩·韦斯莱" },
{ "name": "伏地魔" }
],
"edges": [
{ "source": "哈利·波特", "target": "赫敏·格兰杰", "name": "朋友" },
{ "source": "哈利·波特", "target": "罗恩·韦斯莱", "name": "朋友" },
{ "source": "哈利·波特", "target": "伏地魔", "name": "敌人" },
{ "source": "伏地魔", "target": "哈利·波特", "name": "试图杀死" }
]
}
}
- 用网络图来可视化我的数据
[["哈利·波特", "朋友", "赫敏·格兰杰"], ["哈利·波特", "朋友", "罗恩·韦斯莱"], ["哈利·波特", "敌人", "伏地魔"], ["伏地魔", "试图杀死", "哈利·波特"]]
。
{
"type": "network-graph",
"data": {
"nodes": [
{ "name": "哈利·波特" },
{ "name": "赫敏·格兰杰" },
{ "name": "罗恩·韦斯莱" },
{ "name": "伏地魔" }
],
"edges": [
{ "source": "哈利·波特", "target": "赫敏·格兰杰", "name": "朋友" },
{ "source": "哈利·波特", "target": "罗恩·韦斯莱", "name": "朋友" },
{ "source": "哈利·波特", "target": "伏地魔", "name": "敌人" },
{ "source": "伏地魔", "target": "哈利·波特", "name": "试图杀死" }
]
}
}