流程图GGEditor 之 自定义节点相关属性
自定义节点
注册 -- registerNode
我们通过以下接口往 G6 全局注册节点:
// 注册节点
G6.registerNode(name, {
// 绘制
draw(item) {
return keyShape
},
// 获取锚点
anchor: array || object || callback
}, extendShape);
绘制 -- draw
draw 是图项最终绘制的接口,决定了一个图项最终画成什么样。它是 G6 中拓展图形的最小接口,例如:

const data = {
"nodes": [
{
"shape": "customNode",
"id": "node1",
"x": 50,
"y": 100
},
{
"shape": "customNode",
"id": "node2",
"x": 250,
"y": 100
}
],
};
G6.registerNode('customNode', {
draw(item){
const group = item.getGraphicGroup();
const model = item.getModel();
group.addShape('text', {
attrs: {
x: 0,
y: 0,
fill: '#333',
text: '我是一个自定义节点,\n有下面那个方形和我自己组成'
}
});
group.addShape('text', {
attrs: {
x: 0,
y: 0,
fill: '#333',
text: ' ('+model.x+', '+model.y+') \n 原点是组的图坐标',
textBaseline: 'top'
}
});
group.addShape('circle', {
attrs: {
x: 0,
y: 0,
r: 4,
fill: 'blue'
}
});
return group.addShape('rect', {
attrs: {
x: 0,
y: 0,
width: 100,
height: 100,
stroke: 'red'
}
});
}
});
const graph = new G6.Graph({
container: 'mountNode', // dom 容器 或 容器ID
width: 500, // 画布宽
height: 500, // 画布高
});
graph.read(data);
关键形
draw 方法返回的图形既是该图项的 keyShape -- 关键形。简单来说,keyShape 是该图项参与图形计算的关键图形。所有的击中、锚点、控制点,都是根据关键图形生成的,所以这个形(shape)非常关键。
锚点 -- anchor
锚点是用户设置可用于连接的点 ,是 Node 和 Group 特有的概念。本文档仅介绍一种简单的设置锚点的方式,详细介绍见锚点详解 。

G6.registerNode('customNode', {
anchor: [
[0.5, 1], // 底边中点
[0.5, 0] // 上边中点
],
});
文档来源地址:https://www.yuque.com/antv/g6/custom-node
流程图GGEditor 之 自定义节点相关属性的更多相关文章
- 用mel编写自定义节点的属性编辑器界面
用mel编写自定义节点的属性编辑器界面比较麻烦,而且网上例子又少,下面给出一个范例,说明基本的格式 // 初始化节点时调用 global proc initControl(string $attrNa ...
- 原生JS中DOM节点相关API合集
节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Text或Comment节点的文本值,只 ...
- 原生JSdom节点相关(非原创)
节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Text或Comment节点的文本值,只 ...
- Spring源码情操陶冶-自定义节点的解析
本文承接前文Spring源码情操陶冶-DefaultBeanDefinitionDocumentReader#parseBeanDefinitions,特开辟出一块新地来啃啃这块有意思的骨头 自定义节 ...
- ASP.NET基础知识汇总之WebConfig自定义节点详细介绍
之前介绍过Webconfig的具体知识ASP.NET基础知识汇总之WebConfig各节点介绍.今天准备封装一个ConfigHelper类,涉及到了自定义节点的东东,平时虽然一直用,但也没有系统的总结 ...
- vue第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件)
第六单元(vue的实例和组件-vue实例的相关属性和方法-解释vue的原理-创建vue的组件) #课程目标 掌握vue实例的相关属性和方法的含义和使用 了解vue的数据响应原理 熟悉创建组件,了解全局 ...
- Activity Intent Flags及Task相关属性
转自http://www.cnblogs.com/lwbqqyumidi/p/3775479.html 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式 ...
- FusionCharts中仪表盘相关属性
上上周用FusionCharts做了几个报表,里面有个仪表盘,当时查属性查疯了,现在把相关的一些属性记下来,方便以后查找. -------------------------仪表盘重要属性解析---- ...
- Web.config自定义节点configSections
1.为什么需要自定义节点 为了增加应用程序的可移植性,通常网站需要配置一些自定义的节点,例如:文件上传的路径等,再深入的应用,可以定义工厂方法需要创建的类. 2.configSections使用方法 ...
随机推荐
- Web 项目没有发布到我们安装的tomcat目录下
新手做Web项目的时候,在Ecplise把app发布到tomcat,但最后项目并没有发布到我们自己安装的 tomcat目录下,而是在.metadata\.plugins\org.eclipse.wst ...
- asp.net core 2.2升到3.1遇到的问题小记
趁着武汉疫情,在家研究原来2.2的框架升级到3.1的问题,在过程中遇到不少坑,好在放假有的是时间,一个一个解决,现做个简要记录,供大家参考.推荐认真看这篇文章 [https://docs.micros ...
- 时序数据库 Apache-IoTDB 源码解析之文件数据块(四)
上一章聊到行式存储.列式存储的基本概念,并介绍了 TsFile 是如何存储数据以及基本概念.详情请见: 时序数据库 Apache-IoTDB 源码解析之文件格式简介(三) 打一波广告,欢迎大家访问Io ...
- SetConsoleTextAttribute设置颜色后的恢复
1. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <s ...
- python文件内容处理(一)
综述:一定要理解光标移动的规则 ---------------------------------------------------------------------------第一部分基本操作- ...
- HDU_3410_单调栈
http://acm.hdu.edu.cn/showproblem.php?pid=3410 初探单调栈,从左往右,求l,从右往左,求r. #include<iostream> #incl ...
- HDU_3183_RMQ
http://acm.hdu.edu.cn/submit.php?pid=3183 初探rmq,这道题看了题解还是写了好久.原因是rmq处理字符串时没有自己写min函数,导致把返回的字符当成下标处理了 ...
- ssh_exchange_identification: read: Connection reset
垃圾服务器,真的佛了,明明服务器从装的系统,连接半天连接不上,但是别人的电脑就可以,要使用xshell和fileshell链接,按照软件报的错误来修复的话,根本解决不了问题,还是得命令行ssh roo ...
- 在家想自学Java,有C语言底子,请问哪本书适合?
一.问题剖析 看到这个问题,我想吹水两句再做推荐.一般发出这个疑问都处在初学编程阶段,编程语言都是相通的,只要你领悟了一门语言的"任督二脉",以后你学哪一门语言都会轻易上手.学语言 ...
- 某cms审计思路,以及ci框架如何找寻注入点
某cms审计思路,以及ci框架如何找寻注入点 ABOUT 之前闲着没事的时候审的某cms,之前看一群大表哥刷过一次这个cms,想着看看还能不能赶得上分一杯羹,还是审计出来些东西,来说一说一个前台注入吧 ...