G6 Graph配置
admin
2024-05-09 16:20:23
0

中文字“图”在大家的传统认知里指的是图画、图像,而图论与可视化中的“图”—— Graph 则有着更精确的定位:主体(objects)与关系(relationships)的组成。它甚至不局限于视觉,主体与关系的数据也可以称为图。

—— 摘自 AntV 专栏文章:Graph Visualization · 知多少 之 《HelloWorld 图可视化》。

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

Graph 对象的生命周期为:初始化 —> 加载数据 —> 渲染 —> 更新 —> 销毁。

在 快速上手 中,我们简单介绍了 初始化、加载数据、渲染图 的使用方法。本文将主要介绍初始化/实例化图。

初始化/实例化图

通过 new G6.Graph(config) 进行图的实例化。其中参数 config 是 Object 类型的图的配置项,图的大部分功能可以通过该配置项进行全局配置。如 前提代码 这样实例化图:

const graph = new G6.Graph({ container: 'mountNode', // 指定图画布的容器 id,与第 9 行的容器对应 // 画布宽高 width: 800, height: 500,});

必要配置项


上面代码中实例化 Graph 的部分使用了三个必要的配置项:

  • container

类型:String | Object。图的 DOM 容器。可以是 String,为 DOM 容器的 id。也可以是 Object ,为 DOM 对象。

  • width、height

类型:Number。图的画布的宽度和高度。

常用配置项


下面列举实例化图时常见的配置项,完整的配置项参见 Graph API。

使用 canvas 或 svg 渲染

  • renderer

类型:String;默认:'canvas',可选项:'canvas' / 'svg' 。配置使用 canvas 或 svg 渲染,除 V3.3.x 外其他版本均支持。 G6 默认使用 Canvas 渲染图, SVG 渲染也支持 Canvas 的所有功能。需要注意的是,我们都知道 SVG 的性能较差,在大规模数据或图元的情况下请谨慎选择。SVG 除支持内置的所有节点/边类型以及自定义节点/边时使用与 Canvas 相同的图形外,还支持在自定义节点/边时使用 'dom' 图形,详见 使用 DOM 自定义节点。

自适应画布

  • fitView

类型:Boolean;默认:'false'。图是否自适应画布。

  • fitViewPadding

类型:Number | Array;默认:0。图自适应画布时的四周留白像素值。fitView 为 true 时生效。

  • fitCenter

类型:Boolean;默认:'false'。是否平移图使其中心对齐到画布中心。v3.5.1 后支持。

全局元素配置

  • defaultNode

类型:Object。默认情况下全局节点的配置项,包括样式属性和其他属性。详见 内置节点 教程。

  • defaultEdge

类型:Object。默认情况下全局边的配置项,包括样式属性和其他属性。详见 内置边 教程。

  • nodeStateStyles

类型:Object。除默认状态外的其他状态下节点的样式配置。详见 状态 State 教程。

  • edgeStateStyles

类型:Object。除默认状态外的其他状态下边的样式配置。详见 状态 State 教程。

布局相关

  • layout

类型:Object。若数据中不存在节点位置,则默认为随机布局。配置布局类型及其参数。详见 使用布局 Layout 教程,图布局 API 或 树图布局 API。

交互行为相关

  • modes

类型:Array。配置多种交互模式及其包含的交互事件的。详见 交互模式 Mode。

动画相关

  • animate

类型:Boolean;默认:'false'。是否启用全局动画。启用后,布局变化时将会以动画形式变换节点位置。

  • animateCfg

类型:Object。全局动画的配置项,包括动画效果、动画时长等。详见 动画 Animation。

插件

  • plugins

类型:Array。配置辅助插件。详见 插件与工具。

常用函数

在前面的代码中使用了两个必要的函数:

// 读取数据graph.data(data);// 渲染图graph.render();

  • data(data):读取数据源 data 到图实例 graph 中。

  • render():渲染图。

Graph 的完整函数参见 Graph API。

相关内容

热门资讯

协创数据拟不超110亿元采购服... 2月12日晚间,协创数据(300857)公告称,公司及/或子公司根据经营发展需要,拟向多家供应商采购...
2026年地产新局 记者 田国宝 过去三年,房地产在需求收缩、融资收紧和风险出清的多重压力下经历了深度调整。 国家统计局...
国林科技拟定增募资不超2.24... 来源:证券时报e公司 2月11日晚,国林科技(300786)披露定增预案,宣布拟以13.56元/股向...
康骨堂 四招运动疗法缓解你的颈... 颈椎病是一种由于颈椎结构损伤及周围软组织发生退行性改变,导致颈椎内外平衡失调而引发的疾病。它可能进一...
平安财险重庆分公司被罚92万,... 蓝鲸新闻2月12日讯,近日,国家金融监督管理总局重庆监管分局发布了罚单,剑指中国平安财产保险股份有限...
互联网大厂开启撒钱模式 央视网... 快科技2月12日消息,2026年开年,一场空前激烈的AI红包大战打响。 腾讯、阿里、字节、百度四大巨...
守护年夜饭消费安全 师市市场监... 2月10日,师市市场监督管理局聚焦辖区大型餐饮服务单位,全面开展“年夜饭”市场专项检查,以严密监管守...
和讯投顾钟凯锋:跨年无忧,主线... 今天科技复苏人气回升,还剩一个交易日,持股还是持币?大概率半仓持股没有问题。 前天视频已提示半仓持股...
原创 美... 最近国际能源圈闹得沸沸扬扬的事,就是美国那边对委内瑞拉石油政策的调整。话说回来,这事儿得从2026年...
这些“十字花科”蔬菜,真的要忌... 今天武医生统一回答:绝大多数甲状腺患者,不需要,也不应该彻底忌口十字花科蔬菜。 盲目忌口,反而因小失...
原创 中... 最近金融圈有个大动静,中国还在持续抛售美国国债,而且手笔不小。到去年11月,咱们手里的美债已经降到6...
银信科技(300231.SZ)... 来源:格隆汇APP 格隆汇2月12日丨银信科技(300231.SZ)公布,根据公司发展战略及业务需要...
安诚财险重庆分公司被罚81万,... 蓝鲸新闻2月13日讯,近日,国家金融监督管理总局重庆监管分局发布了罚单,剑指安诚财产保险股份有限公司...
白癜风专家李从悠:白癜风患者的... 饮食搭配是白癜风患者日常护理的重要组成部分,合理的饮食搭配能为黑色素合成提供充足原料,增强身体抵抗力...
东材科技大宗交易折价成交18.... 东材科技02月12日大宗交易平台共发生1笔成交,合计成交量18.58万股,成交金额501.10万元。...
“不要在这嚣张跋扈地讲半天”,... 每经记者|胥帅 每经编辑|文多 2月12日下午,公司股东会召开前夕,振芯科技(SZ300101)大...
深圳企业精选:2026年度展厅... 引言 随着经济的发展和市场竞争的加剧,企业展厅作为展示企业形象和产品的重要平台,其设计的重要性日益凸...
〔读城〕发展“春节经济”激活传... 文/李后强 中共四川省委四川省人民政府决策咨询委员会副主任、成都市社会科学界联合会主席、四川省社会科...
欧莱雅又续了一命 文丨牛刀财经 前哨 美妆行业彻底告别 “躺着赚钱” 的时代! 全球市场迈入存量博弈深水区,高增长红...
斥资135亿美元,美国资管巨头... 来源:21世纪经济报道 21世纪经济报道记者 余纪昕 2月12 日,据新浪财经等多家媒体报道,美国资...