g6的minimap中的配置_g6 核心概念

本文详细介绍了 G6 图形库中关于 minimap 的配置,包括如何创建 G6 图实例,图的生命周期,以及必要的配置项如 container、width 和 height。还讨论了图形 Shape、节点、边、 Combo 的配置和自定义方式,以及图的布局、交互行为和动画相关设置。此外,提到了插件的使用,特别是 ImageMinimap 插件的实例化。
摘要由CSDN通过智能技术生成

695cae0ee808f43a73023ffba6426770.png

// 创建 G6 图实例

const graph = new G6.Graph({

container: 'mountNode', // 指定图画布的容器 id,与第 9 行的容器对应

// 画布宽高

width: 800,

height: 500,

});

// 读取数据

graph.data(data);

// 渲染图

graph.render();

//监听

graph.on()

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

必要配置项

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

container

width、height

常用配置项

使用 canvas 或 svg 渲染

renderer

自适应画布

fitView

fitViewPadding

fitCenter

全局元素配置

defaultNode

defaultEdge

nodeStateStyles

edgeStateStyles

布局相关

layout

交互行为相关

modes

动画相关

animate

animateCfg

插件

plugins

图形

每个图元素由图形(Shape) 组成,且都会有自己的唯一关键图形(keyShape)。

图形 Shape

各图形 Shape 的通用方法

attr(name)

获取实例的属性值。

attr(name, value)

更新实例的单个绘图属性。

attr({...})

批量更新实例绘图属性。

KeyShape

d25d9ab7c8b0aaa51ee9e0e4813270a9.png

371cd9d7cf3a1b05320dc647cced2fe7.png

代表元素的图形

group

addGroup(cfgs)

addShape(type, cfgs)

变换

获取当前矩阵:getMatrix();

设置矩阵:setMatrix(matrix) 或 attr('matrix', matrix);

重置矩阵:resetMatrix()。

图元素

图的元素(Item)包含图上的节点 Node 、边 Edge 和 Combo 三大类。

样式属性,通过 style 字段对象进行配置,和元素的关键图形相关,例如 fill,stroke。

其他属性,例如 id、type,不能在元素状态改变是进行改变,可通过 graph.updateItem 进行手动更新。

节点

G6 的内置节点包括 circle,rect,ellipse,diamond,triangle,star,image,modelRect。这些内置节点的默认样式分别如下图所示。

bd341ba430e463caddaf8066596e0534.png

定义方式

// 1

defaultNode: {

type: 'circle',

// 其他配置

}

//2

graph.node((node) => {

return {

id: node.id,

type: 'rect',

style: {

fill: 'blue',

},

};

});

graph.data(data);

graph.render();

//3

const data = {

nodes: [

{

id: 'node_circle',

x: 100,

y: 100,

type: 'circle',

label: 'circle',

},]

}

自定义

G6.registerNode(

'nodeName',

{

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
G6 是一个基于图形语法的可视化图形编辑引擎,提供了丰富的图形交互和图形编辑功能。G6 支持缩略图的展示,通过缩略图可以快速浏览和定位大型图形。 G6 的缩略图技术主要是通过 `graph.getThumbnail()` 方法生成缩略图,以及 `graph.addPlugin()` 方法添加缩略图插件。 下面是一个简单的示例: ```javascript import G6 from '@antv/g6'; const graph = new G6.Graph({ container: 'container', width: 800, height: 600, modes: { default: ['drag-canvas', 'zoom-canvas'] } }); // 添加缩略图插件 graph.addPlugin({ id: 'thumbnail', after: 'minimap', constructor: G6.Plugins['tool.thumbnail'], options: { title: '缩略图', container: 'container', width: 200, height: 150, showLabel: false } }); // 渲染图形 graph.data(data); graph.render(); // 生成缩略图并显示 const thumbnail = graph.getThumbnail(); document.getElementById('thumbnail').appendChild(thumbnail); ``` 在上面的代码,我们添加了一个缩略图插件,并使用 `getThumbnail()` 方法生成缩略图。缩略图插件会在画布上显示一个缩略图,可以通过拖拽缩略图来移动画布。 缩略图插件的配置项包括: - `title`:缩略图标题 - `container`:缩略图容器的 DOM 元素 ID - `width`:缩略图宽度 - `height`:缩略图高度 - `showLabel`:是否显示节点标签 可以根据实际需求进行配置。 需要注意的是,在使用缩略图插件时,需要在 G6 的基础上额外引入 `@antv/g6-plugin` 库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值