当前位置: 首页 > news >正文

antv/x6_2.0学习使用(四、边)

一、添加边

节点和边都有共同的基类 Cell,除了从 Cell 继承属性外,还支持以下选项。

属性名类型默认值描述
sourceTerminalData-源节点或起始点
targetTerminalData-目标节点或目标点
verticesPoint.PointLike[]-路径点
routerRouterData-路由
connectorConnectorData-连接器
labelsLabel[]-标签
defaultLabelLabel默认标签默认标签
二、配置边
  1. source/target
    边的源和目标节点(点)
graph.addEdge({source: rect1, // 源节点target: rect2, // 目标节点
})graph.addEdge({source: 'rect1', // 源节点 IDtarget: 'rect2', // 目标节点 ID
})graph.addEdge({source: { cell: rect1, port: 'out-port-1' }, // 源节点和连接桩 IDtarget: { cell: 'rect2', port: 'in-port-1' }, // 目标节点 ID 和连接桩 ID
})graph.addEdge({source: 'rect1', // 源节点 IDtarget: { x: 100, y: 120 }, // 目标点
})
  1. vertices
    路径点。边从起始点开始,按顺序经过路径点,最后到达终止点。
const graph = new Graph({container: graphRef.value,width: 800,height: 600,background: {color: "#F2F7FA",},
});const source = graph.addNode({shape: "rect",x: 40,y: 40,width: 80,height: 40,label: "hello",
});const target = graph.addNode({shape: "rect",x: 300,y: 220,width: 80,height: 40,label: "world",
});graph.addEdge({source,target,attrs: {line: {stroke: "#8f8f8f",strokeWidth: 1,},},vertices: [{ x: 100, y: 200 },{ x: 300, y: 120 },],
});

以下是效果图
在这里插入图片描述

  1. router
    路由 router 将对 vertices 进一步处理,并在必要时添加额外的点,然后返回处理后的点。例如,经过 orth 路由处理后,边的每一条链接线段都是水平或垂直的。
graph.addEdge({source: rect1,target: rect2,vertices: [{ x: 100, y: 200 },{ x: 300, y: 120 },],// 如果没有 args 参数,可以简写为 router: 'orth'router: {name: 'orth',args: {},},
})
  • X6 默认提供了以下几种路由:

    • normal
    • orth
    • oneSide
    • manhattan
    • metro
    • er
    • 自定义路由
  1. connector

连接器 connector 将路由 router 返回的点加工成渲染边所需要的 pathData。例如,rounded 连接器将连线之间的倒角处理为圆弧倒角

graph.addEdge({source: rect1,target: rect2,vertices: [{ x: 100, y: 200 },{ x: 300, y: 120 },],router: 'orth',// 如果没有 args 参数,可以简写写 connector: 'rounded'connector: {name: 'rounded',args: {},},
})

以下是效果图
在这里插入图片描述

  • X6 默认提供了以下几种连接器:

    • normal
    • rounded
    • smooth
    • jumpover
    • 自定义连接器
  1. 箭头

x6 定义了 sourceMarkertargetMarker 两个特殊属性来为边定制起始和终止箭头。

  • X6 默认提供了以下几种内置箭头,使用时只需要指定箭头名和参数(可省略)即可。

    • block
    • classic
    • diamond
    • cross
    • async
    • path
    • circle
    • circlePlus
    • ellipse
    • 自定义箭头
const graph = new Graph({container: graphRef.value,width: 800,height: 600,background: {color: "#F2F7FA",},
});const markers = ["block","classic","diamond","circle","circlePlus","ellipse","cross","async",
];markers.forEach((marker, i) => {graph.addEdge({sourcePoint: [120, 20 + i * 40],targetPoint: [400, 20 + i * 40],label: marker,attrs: {line: {sourceMarker: marker,targetMarker: marker,stroke: "#8f8f8f",strokeWidth: 1,},},});
});

以下是效果图
在这里插入图片描述

提示:
X6 中边默认自带 classic 箭头,如果要去掉,可以将 targetMarker 设置为 null。
http://www.lryc.cn/news/275842.html

相关文章:

  • C++ stack用法总结
  • 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述
  • PHP 基础编程 2
  • git merge origin master 和 git merge origin/master 的区别
  • 数据挖掘 模糊聚类
  • Vue2和Vue3各自的优缺点以及区别对比
  • 手写一个加盐加密算法(java实现)
  • 基于Springboot的在线考试系统
  • 【React系列】JSX核心语法和原理
  • 【C++初阶(九)】C++模版(初阶)----函数模版与类模版
  • Permission denied
  • 轻松学会电脑如何录制音频
  • react antd,echarts全景视图
  • GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件(附代码)
  • 【C#】知识点实践序列之UrlEncode在线URL网址编码、解码
  • 泽攸科技完全自主研制的电子束光刻机取得阶段性成果
  • 上篇 | CDP应用篇之兴趣标签的3种破圈玩法
  • 智能的核心依然是哲学的三个基本问题
  • 用python实现提取word中的所有图片
  • CoTracker 环境配置与ORB 特征点提取结合实现视频特征点追踪
  • 10000000000 大瓜背后的真相(附 PDD 算法真题)
  • python爬虫,简单的requests的get请求,百度搜索实例
  • UNION 和 UNION ALL
  • NPS 内网穿透安装
  • 【C++学习笔记】C++多值返回写法
  • 读取带有梯度的张量的具体的值
  • 【分布式微服务专题】SpringSecurity快速入门
  • EasyRecovery2024永久免费版电脑数据恢复软件
  • iphone 苹果 IOS 越狱详细图文保姆级教程非常简单
  • 华为HarmonyOS 创建第一个鸿蒙应用 运行Hello World