Skip to content

Latest commit

 

History

History
97 lines (79 loc) · 4.08 KB

网络图 - Network Graph.md

File metadata and controls

97 lines (79 loc) · 4.08 KB

图表属性

  • 名称:网络图
  • 别名:关系网络图,关系图,力导向图,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:边的名称,用于标识边,必填,文本类型;

使用示例

  1. 在《哈利波特》系列中,有几个主要人物:哈利·波特、赫敏·格兰杰、罗恩·韦斯莱和伏地魔。哈利·波特是主角,他的两个最好的朋友是赫敏·格兰杰和罗恩·韦斯莱。伏地魔是哈利·波特的主要敌人,曾试图杀死哈利。用网络图可视化。
{
  "type": "network-graph",
  "data": {
    "nodes": [
      { "name": "哈利·波特" },
      { "name": "赫敏·格兰杰" },
      { "name": "罗恩·韦斯莱" },
      { "name": "伏地魔" }
    ],
    "edges": [
      { "source": "哈利·波特", "target": "赫敏·格兰杰", "name": "朋友" },
      { "source": "哈利·波特", "target": "罗恩·韦斯莱", "name": "朋友" },
      { "source": "哈利·波特", "target": "伏地魔", "name": "敌人" },
      { "source": "伏地魔", "target": "哈利·波特", "name": "试图杀死" }
    ]
  }
}
  1. 用网络图来可视化我的数据 [["哈利·波特", "朋友", "赫敏·格兰杰"], ["哈利·波特", "朋友", "罗恩·韦斯莱"], ["哈利·波特", "敌人", "伏地魔"], ["伏地魔", "试图杀死", "哈利·波特"]]
{
  "type": "network-graph",
  "data": {
    "nodes": [
      { "name": "哈利·波特" },
      { "name": "赫敏·格兰杰" },
      { "name": "罗恩·韦斯莱" },
      { "name": "伏地魔" }
    ],
    "edges": [
      { "source": "哈利·波特", "target": "赫敏·格兰杰", "name": "朋友" },
      { "source": "哈利·波特", "target": "罗恩·韦斯莱", "name": "朋友" },
      { "source": "哈利·波特", "target": "伏地魔", "name": "敌人" },
      { "source": "伏地魔", "target": "哈利·波特", "name": "试图杀死" }
    ]
  }
}