返回

使用 GoJs Link 模板创建动态交互式连线图

前端

导言

GoJs是一个功能强大的 JavaScript 库,用于创建交互式图表和图。它提供了广泛的模板,包括用于创建连线图的 Link 模板。连线用于连接图中的节点,表示它们之间的关系。

创建 GoJs Link 模板

要创建 GoJs Link 模板,您需要一个名为 go.Link 的类,它包含定义连接点、线类型、箭头和标签的属性:

var linkTemplate = $(go.Link,
  {
    routing: go.Link.AvoidsNodes,
    fromSpot: go.Spot.Bottom,
    toSpot: go.Spot.Top,
    curve: go.Link.Bezier,
    reshapable: true,
    relinkableFrom: true,
    relinkableTo: true
  }
);

样式化 GoJs Link

您可以通过设置以下属性来定制 Link 的外观:

  • strokeWidth: 线条的粗细
  • stroke: 线条的颜色
  • fromArrow: 开始处的箭头类型
  • toArrow: 结束处的箭头类型
  • label: 标签文本

操纵 GoJs Link

创建 Link 后,您可以使用以下方法与之交互:

  • select(): 选择一个 Link
  • startDragging(): 开始拖动 Link
  • `move(): 更改 Link 的位置
  • delete(): 删除 Link

示例代码

以下代码演示了如何使用 GoJs Link 模板创建连线图:

// 定义节点数据
var nodes = [
  { key: "node1", text: "Node 1" },
  { key: "node2", text: "Node 2" }
];

// 定义连线数据
var links = [
  { key: "link1", from: "node1", to: "node2" }
];

// 创建图模型
var model = $(go.Model, {
  nodes: nodes,
  links: links,
  linkTemplate: linkTemplate
});

// 创建图对象
var diagram = $(go.Diagram, "myDiagram", {
  model: model
});

结论

GoJs Link 模板为创建交互式连线图提供了强大的功能。通过了解如何创建、样式化和操纵连线,您可以创建可视化和理解复杂关系的图表。探索 GoJs 文档以获取更多信息并构建强大的交互式可视化效果。