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

news/2024/7/10 0:02:05 标签: 学习, 前端, antV/x6, typescript, vue, antv, 前端框架
一、添加边

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

属性名类型默认值描述
sourceTerminalData-源节点或起始点
targetTerminalData-目标节点或目标点
verticesPoint.PointLike[]-路径点
routerRouterData-路由
connectorConnectorData-连接器
labelsLabel[]-标签
defaultLabelLabel默认标签默认标签
二、配置边
  1. source/target
    边的源和目标节点(点)
graph.addEdge({
  source: rect1, // 源节点
  target: rect2, // 目标节点
})

graph.addEdge({
  source: 'rect1', // 源节点 ID
  target: 'rect2', // 目标节点 ID
})

graph.addEdge({
  source: { cell: rect1, port: 'out-port-1' }, // 源节点和连接桩 ID
  target: { cell: 'rect2', port: 'in-port-1' }, // 目标节点 ID 和连接桩 ID
})

graph.addEdge({
  source: 'rect1', // 源节点 ID
  target: { 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.niftyadmin.cn/n/5313362.html

相关文章

debug OpenBLAS library 和 应用示例

1. 构建openblas lib git clone gitgithub.com:OpenMathLib/OpenBLAS.git cd OpenBLAS/ 如果要安装在自定义文件夹中,可以修改 PREFIX 的定义: 将 PREFIX /opt/OpenBLAS 修改成 PREFIX ../local/ 然后构建: make -j make install 如果要…

外包做了5个月,技术退步一大半了。。。

先说一下自己的情况,本科生,20年通过校招进入深圳某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

antv/x6_2.0学习使用(五、路由)

X6 默认提供了以下几种路由: 路由名称说明normal默认路由,原样返回路径点orth正交路由,由水平或垂直的正交线段组成oneSide受限正交路由,由受限的三段水平或垂直的正交线段组成manhattan智能正交路由,由水平或垂直的正交线段组成…

TWS降噪耳机船运模式驱动实现

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送蓝牙音频,DSP音频项目核心开发资料, 驱动实现 Ship mode=SM SM-GND 接充电盒激活,退出船运模式, 船运模式单独做一个模块。 XB6035 芯片相当于一个电子开关…

Spark Core------算子介绍

RDD基本介绍 什么是RDD RDD:英文全称Resilient Distributed Dataset,叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。 Resilient弹性:RDD的数据可以存储在内存或者磁盘…

golang生成12个月

// GetMonthTimeCycle 获取月份周期 // 参数 year 年份 func GetMonthTimeCycle(year int) (*[]TimeCycle, error) {var yearstart time.Timevar start time.Timevar end time.Timevar no intvar name stringvar loc, err time.LoadLocation("Local")if err ! nil {…

深兰科技荣登“2023年度人工智能领域创新企业TOP30”

近日,投资家网旗下的“投资家研究院”重磅发布了“投资家网2023中国价值企业榜”。经过层层筛选,严格评定,深兰科技荣登“2023年度人工智能领域创新企业TOP30”榜单。 本届榜单,既涵盖了那些能改变中国经济未来走向的前沿科技领域…

红队打靶练习:DERPNSTINK: 1

目录 信息收集 1、arp 2、netdiscover 3、nmap 4、nikto 5、whatweb 目录探测 1、gobuster 2、dirsearch WEB get flag1 robots.txt /php/phpmyadmin /temporary /weblog wordpress wpscan扫描 漏洞发现 提权 系统信息收集 mysql登录 john get flag2 s…