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

AnV-X6使用及总结

目录

      • 1 简介
      • 2 安装
      • 3 基础概念
        • 3.1 画布Graph
        • 3.2 基类Cell
        • 3.3 节点Node
        • 3.4 边Edge
      • 4 使用
        • 4.1 创建节点
        • 4.2 节点连线
        • 4.3 事件系统
      • 5 总结

1 简介

AntV是一个数据可视化(https://x6.antv.antgroup.com/)的工具(https://antv.vision/zh/ ),可以方便的创建图表或者其他图形,让我们的页面开发比较轻松的让数据可视化。进入网站后,我们可以看到七个模块:

在这里插入图片描述

G2:数据驱动,高度易用,可扩展的可视化图形语法
S2:开箱即用的多维可视分析表格
G6:便捷的关系数据可视化引擎与图分析工具
X6:极易定制、开箱即用、数据驱动的图编辑引擎
L7:高性能、高渲染质量的地理空间数据可视化框架
F2:专注于移动端的可视化解决方案,兼容
H5/小程序/Weex 等多端环境 AVA:AVA 是为了更简便的可视分析而生的技术框架

2 安装

通过npm或yarn 命令安装x6

# npm
$npm install @anv/x6 --save
# yarn
$yarn add @antv/x6

安装完成之后,使用import或require进行引用。

import { Graph } from 'antv/x6'

3 基础概念

3.1 画布Graph

在x6中,Graph是图的载体,它包含图上的所有元素(节点、边等),同时挂载了图的相关操作(如交互监听、元素操作等)。

const graph = new Graph({panning:true //支持平移selecting: {enabled: true, //支持选中multiple: true,movable: true, //支持拖动}
}
graph.zoom(0.2) //在原来缩放级别上增加0.2
graph.zoom(-0.2) //在原来缩放级别上减少0.2
3.2 基类Cell

基类Cell定义了节点和边共同属性和方法,如属性样式、可见性、业务数据。
在这里插入图片描述
cell有一些基础选项:
在这里插入图片描述

3.3 节点Node

node是所有节点的基类,继承自Cell,并定义了节点的通用属性和方法。

size:定义节点大小,是一个包含width和height属性的对象,可以通过size()方法来获取和设置节点大小。
position:节点位置,是一个包含x和y属性的对象。
angle:节点的旋转角度,旋转中心为节点的中心。

3.4 边Edge

source: 源对象。
target: 目标对象。source 和 target 都可以是任何元素,区别是,source 是起点,target 是终点。 例如,con-nector 中的箭头总是从 source 指向 target。
connector: 连接线。
vertices:路径点,是一个数组。边从起点开始,按顺序经过路径点,最后到达终点。

4 使用

4.1 创建节点

1.使用构造函数。 X6 的 Shape 命名空间中内置了一些基础节点,如 Rect、Circle、Ellipse 等,可以使用这些节点的构造函数来创建节点。

import { Shape } from '@antv/x6'// 创建节点
const rect = new Shape.Rect({x: 100,y: 200,width: 80,height: 40,angle: 15,attrs: {body: {fill: '#2ECC71', // 背景颜色stroke: '#000', // 边框颜色},label: {text: 'coldchain', // 文本fill: '#333', // 文字颜色fontSize: 13, // 文字大小},},
})// 添加到画布
graph.addNode(rect)

在这里插入图片描述
2.使用VUE节点

Graph.registerNode("my-count", {  //将vue组件注册到系统中inherit: "vue-shape",  //指定节点类型为vue-shapex: 200,y: 150,width: 150,height: 100,component: {template: `<Count />`,components: {Count,},},
});graph.addNode({id: "1",shape: "my-count", //将节点的 shape 属性指定为注册的节点名称x: 400,y: 150,width: 150,height: 100,data: {num: 0,},
});

这样,我们就可以自定义节点,大大增加了节点的可扩展性。

4.2 节点连线
const rect1 = graph.addNode({x: 30,y: 30,width: 100,height: 60,label: 'hello',id:'coldChain01',ports: [  //设置连接桩{ id: 'port1' }, { id: 'port2' },],})const rect2 = graph.addNode({x: 400,y: 240,width: 100,height: 60,label: 'world',id:'coldChain02',ports: [{ id: 'port3' }, { id: 'port4' },],})graph.addEdge({source: {cell:'coldChain01',port:'port1'}, //起点id和连接桩id target: {cell:'coldChain02',port:'port3'}, //终点id和连接桩id vertices: [{ x: 100, y: 200 },{ x: 300, y: 120 },],})}

在这里插入图片描述

4.3 事件系统

antv-x6支持丰富的鼠标事件,如下:
在这里插入图片描述

graph.on('cell:click', ({ e, x, y, cell, view }) => { })

通过graph.on函数即可实现对事件的监听,例如流程图中就用到了单击、双击、鼠标移入、移出等事件。除此之外,antv-x6还支持自定义事件。

node.attr({// 表示一个删除按钮,点击时删除该节点image: {event: 'node:delete',xlinkHref: 'trash.png',width: 20,height: 20,},
})
graph.on('node:delete', ({ view, e }) => {e.stopPropagation()view.cell.remove()
})

在这里插入图片描述

5 总结

antv-x6是一个功能强大、可扩展性高的可视化工具,提供了一系列开箱即用的交互软件和简单易用的节点定制能力,能够帮助使用者便捷地创建流程图、ER图等交互性较强的应用。本次分享介绍了x6的基本功能,更多高级功能有待我们进一步学习和探索。

相关文章:

AnV-X6使用及总结

目录 1 简介2 安装3 基础概念3.1 画布Graph3.2 基类Cell3.3 节点Node3.4 边Edge 4 使用4.1 创建节点4.2 节点连线4.3 事件系统 5 总结 1 简介 AntV是一个数据可视化&#xff08;https://x6.antv.antgroup.com/&#xff09;的工具&#xff08;https://antv.vision/zh/ &#xf…...

Go 围炉札记

文章目录 一、安装二、文档三、使用 一、安装 VSCode 和 CLion 为 Go 开发配置Visual Studio Code | Microsoft Learn VScode下配置Go语言开发环境【2023最新】 基础篇&#xff1a;新手使用vs code新建go项目 vscode里安装Go插件和配置Go环境 GO 笔记 Golang 配置代理 golang…...

数据分析回头看2——重复值检查/元素替换/异常值筛选

0、前言&#xff1a; 这部分内容是对Pandas的回顾&#xff0c;同时也是对Pandas处理异常数据的一些技巧的总结&#xff0c;不一定全面&#xff0c;只是自己在数据处理当中遇到的问题进行的总结。 1、当数据中有重复行的时候需要检测重复行&#xff1a; 方法&#xff1a;使用p…...

什么是OSPF?为什么需要OSPF

【微|信|公|众|号&#xff1a;厦门微思网络】 【微思网络www.xmws.cn&#xff0c;成立于2002年&#xff0c;专业培训21年&#xff0c;思科、华为、红帽、ORACLE、VMware等厂商认证及考试&#xff0c;以及其他认证PMP、CISP、ITIL等】 什么是OSPF&#xff1f; 开放式最短路径优…...

轻量级的日志采集组件 Filebeat 讲解与实战操作

文章目录 一、概述二、Kafka 安装三、Filebeat 安装1&#xff09;下载 Filebeat2&#xff09;Filebeat 配置参数讲解3&#xff09;filebeat.prospectors 推送kafka完整配置1、filebeat.prospectors2、processors3、output.kafka 4&#xff09;filebeat.inputs 与 filebeat.pros…...

C# 委托和事件

C# 委托和事件 委托匿名方法事件 委托 当要把方法传送给其他方法时&#xff0c;需要使用委托。首先定义要使用的委托&#xff0c;对于委托&#xff0c;定义它就是告诉编译器这种类型的委托代表了哪种类型的方法&#xff0c;然后创建该委托的一个或多个实例。编译器在后台将创建…...

数据结构与算法之字典: Leetcode 349. 两个数组的交集 (Typescript版)

两个数组的交集 https://leetcode.cn/problems/intersection-of-two-arrays/description/ 题目和解题参考 https://blog.csdn.net/Tyro_java/article/details/133279737 使用字典来解题的算法实现 字典&#xff1a;顾名思义&#xff0c;像新华字典一样可查找&#xff0c;基…...

day-56 代码随想录算法训练营(19)动态规划 part 16

538.两个字符串的删除操作 思路一&#xff1a; 1.dp存储&#xff1a;以word1[i-1]结尾&#xff0c;word2[j-1]结尾&#xff0c;最少进行dp[i][j]次操作2.动态转移方程&#xff1a; if(word1[i-1]word2[i-1]) dp[i][j]dp[i-1][j-1]; else dp[i][j]min(dp[i-1][…...

蓝桥等考Python组别四级005

第一部分:选择题 1、Python L4 (15分) 字符“0”的ASCII码值为48,则字符“5”的ASCII码值为( )。 3953120240正确答案:B 2、Python L4 (15分) 下面哪个是Python中正确的变量名?( ) ABC#sup01Trueif正确答案:B...

【Linux】diff 命令

【Linux】diff 命令——并排格式输出 功能 diff 以逐行的方式&#xff0c;比较文本文件的异同处。 如果指定要比较目录&#xff0c;则 diff 会比较目录中相同文件名的文件&#xff0c;但不会比较其中子目录 diff [参数] [文件A] [文件B]diff [参数] [目录A] [目录B]【参数】…...

【51单片机】9-定时器和计数器

1.定时器的介绍 1.什么是定时器 &#xff08;1&#xff09;SoC的一种内部的外设【在单片机里面&#xff0c;但是在CPU外面】 &#xff08;2&#xff09;定时器就是CPU的”闹钟“ 2.什么是计数器 &#xff08;1&#xff09;定时器就是用计数的原始实现的 &#xff08;2&#xf…...

2023年海南省职业院校技能大赛(高职组)信息安全管理与评估赛项规程

2023年海南省职业院校技能大赛&#xff08;高职组&#xff09; 信息安全管理与评估赛项规程 一、赛项名称 赛项名称&#xff1a;信息安全管理与评估 英文名称&#xff1a;Information Security Management and Evaluation 赛项组别&#xff1a;高等职业教育 赛项归属产业&…...

大模型深挖数据要素价值:算法、算力之后,存储载体价值凸显

文 | 智能相对论 作者 | 叶远风 18.8万亿美元&#xff0c;这是市场预计2030年AI推动智能经济可产生的价值总和&#xff0c;其中大模型带来的AI能力质变无疑成为重要的推动力量。 大模型浪潮下&#xff0c;业界对AI发展的三驾马车——算力、算法、数据任何一个维度的关注都到…...

AI文章,AI文章生成工具

在互联网时代&#xff0c;随着信息爆炸式增长&#xff0c;文章的需求愈发旺盛。从博客、新闻、社交媒体到企业宣传&#xff0c;文字作为传达信息、吸引受众的工具变得愈发重要。但问题是&#xff0c;对于很多人来说&#xff0c;创作一篇高质量的文章并不容易。时间、创意、写作…...

mac有必要用清理软件吗?有哪些免费的清理工具

当我们谈到Mac电脑时&#xff0c;很多人都会觉得它比Windows系统更加稳定和高效&#xff0c;也更不容易积累垃圾文件。但实际上&#xff0c;任何长时间使用的操作系统都会逐渐积累不必要的文件和缓存。那么&#xff0c;对于Mac用户来说&#xff0c;有必要使用专门的清理软件吗&…...

React 全栈体系(十八)

第九章 React Router 6 二、代码实战 6. 路由的 params 参数 6.1 routes /* src/routes/index.js */ import About from "../pages/About"; import Home from "../pages/Home"; import Message from "../pages/Message"; import News from &q…...

TCP/UDP

TCP&#xff1a;可靠的有序传输 TCP是一种面向连接的协议&#xff0c;旨在提供可靠、有序的数据传输。它通过以下方式实现这一目标&#xff1a; 1. 连接建立和维护 在使用TCP传输数据之前&#xff0c;必须先建立连接。这个过程包括三次握手&#xff0c;即客户端和服务器之间…...

c++内存对齐

原文在这里。https://blog.csdn.net/WangErice/article/details/103598081 但是内容有错误。我在自己的这里修改并变成红色了。 内存在使用过程并不是单一的依次排列&#xff0c;而是按照某种既定的规则来进行对齐&#xff0c;以方便快速访问.内存的对齐原则有以下三条&#…...

leetcode 33. 搜索旋转排序数组

2023.9.26 本题暴力法可以直接A&#xff0c;但是题目要求用log n的解法。 可以想到二分法&#xff0c;但是一般二分法适用于有序数组的&#xff0c;这里的数组只是部分有序&#xff0c;还能用二分法吗&#xff1f; 答案是可以的。因为数组是经过有序数组旋转得来的&#xff0c;…...

VCS flow学习

VCS VCS 是IC从业者常用软件&#xff0c;该篇文章是一个学习记录&#xff0c;会记录在使用过程中各种概念及options。 VCS Flow VCS Flow 可以分为Two-step Flow和Three-step Flow两类。 两步法 两步法只支持Verilog HDL和SystemVerilog的design&#xff0c;两步法主要包括…...

Polymarket套利机器人:DeFi预测市场的自动化交易策略与实现

1. 项目概述&#xff1a;一个捕捉Polymarket预测市场套利机会的自动化交易机器人 最近在DeFi和预测市场领域&#xff0c;Polymarket这个基于Polygon链的平台热度持续攀升。它本质上是一个事件预测市场&#xff0c;用户可以就各类现实世界事件&#xff08;比如“某球队能否赢得冠…...

达达主义AI艺术正在消失?深度起底平台内容审核算法对“无意义美学”的误判逻辑(含绕过策略与伦理边界声明)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;达达主义AI艺术正在消失&#xff1f; 达达主义以反逻辑、反美学、拥抱偶然性为内核&#xff0c;而当代AI艺术生成工具却日益依赖确定性提示词工程、风格迁移约束与商业审美对齐——这种张力正悄然消解达…...

别再拿冰河木马当玩具了!从一次真实的渗透测试复盘,聊聊Windows XP时代的安全漏洞与防御思路

从冰河木马看Windows XP时代的安全漏洞与现代防御启示 2000年代初的互联网环境与今天截然不同。那时&#xff0c;Windows XP系统占据着绝对市场份额&#xff0c;而安全意识对大多数用户来说还是个陌生概念。正是在这样的背景下&#xff0c;"冰河"这类远程控制工具得以…...

Rusted PackFile Manager:全面战争模组制作的新手入门完全指南

Rusted PackFile Manager&#xff1a;全面战争模组制作的新手入门完全指南 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: htt…...

告别在线安装卡顿:手把手教你离线部署Vitis 2021.2到Ubuntu 20.04(含77G包处理技巧)

高效离线部署Vitis 2021.2&#xff1a;Ubuntu 20.04全流程实战指南 对于从事FPGA开发的工程师而言&#xff0c;稳定可靠的开发环境搭建是项目成功的第一步。当网络条件受限或需要批量部署时&#xff0c;离线安装方式往往成为刚需。本文将深入解析如何在Ubuntu 20.04系统上完成V…...

从LED驱动到继电器控制:深入解析NPN与PNP三极管在电路设计中的选型避坑指南

从LED驱动到继电器控制&#xff1a;深入解析NPN与PNP三极管在电路设计中的选型避坑指南 在电子电路设计中&#xff0c;三极管作为基础却关键的元件&#xff0c;其选型直接影响着电路的可靠性和性能。特别是当我们需要驱动LED、继电器或电机等负载时&#xff0c;NPN与PNP三极管的…...

Page Assist终极指南:5分钟为浏览器安装本地AI助手,彻底告别云端依赖

Page Assist终极指南&#xff1a;5分钟为浏览器安装本地AI助手&#xff0c;彻底告别云端依赖 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 想要…...

Panda-AGI开源框架:构建具备长期记忆与规划能力的AI智能体

1. 项目概述&#xff1a;当“熊猫”遇上AGI&#xff0c;一个开源智能体的新范式最近在开源社区里&#xff0c;一个名为sinaptik-ai/panda-agi的项目引起了我的注意。光看名字就很有意思&#xff0c;“Panda”和“AGI”&#xff08;Artificial General Intelligence&#xff0c;…...

从系统光标到个性化指针:动漫主题鼠标指针的完整实现指南

1. 项目概述&#xff1a;从“二次元”到“生产力”的鼠标指针革命如果你和我一样&#xff0c;每天有超过8小时的时间与电脑为伴&#xff0c;那么鼠标指针就是你最亲密的“数字伙伴”。它可能是一个单调的白色箭头&#xff0c;也可能是一个乏味的沙漏。但你想过吗&#xff1f;这…...

Cursor AI 代码助手规则引擎:定制化约束与团队协作实践

1. 项目概述&#xff1a;一个为 Cursor 编辑器量身定制的规则引擎如果你和我一样&#xff0c;深度依赖 Cursor 这款 AI 驱动的代码编辑器&#xff0c;那你一定遇到过这样的场景&#xff1a;面对一个复杂的重构任务&#xff0c;你向 Cursor 的 AI 助手&#xff08;无论是 Claude…...