基本由 靳肖健创建, 最后修改于十二月 28, 2020

g6是什么

G6 是一个图可视化引擎。它提供了图的绘制、布局、分析、交互、动画等图可视化的基础能力。旨在让关系变得透明,简单优秀的性能

丰富的元素

可控的交互

强大的布局

便捷的组件

友好的体验

当时的为什么选择g6?

1.g6的例子更加直观,感觉更容易移植扩展.初始成本比较低

2.相比d3的文档感觉更有结构性,从了解到深入更容易一些

3.现在edr的图开发绘图库,想换成antv主导,的g2/g6库

在这次工作中我的理解:

首先可视化信息分析主要就是展示事件之间的关系.也就是点线关系.

这套库是辅助开发人员处理图像可视化中点线关系绘图的一个辅助库,使用g6,你可以比较方便的去获取/定义点、线,处理他们之间的关联关系,位置信息。同时他也提供通用布局方式,减轻点位计算的难度.

他定义了一套事件系统、状态系统来方便处理这交互上的问题,并提供了一些分析组件来简化开发用户的交互功开发

react基本绘制方法

引入绘制import React, { useEffect, useState } from'react';import ReactDOM from'react-dom';import { data } from'./data';import G6 from'@antv/g6'; exportdefault function () {const ref = React.useRef(null);let graph =null; useEffect(() => {if (!graph) {graph =new G6.Graph({container: ReactDOM.findDOMNode(ref.current),//其他配置信息});}graph.data(data);graph.render();}, []); return

外界通信// 边 tooltip 坐标const [showNodeTooltip, setShowNodeTooltip] = useState(false); // 监听 node 上面 mouse 事件graph.on('node:mouseenter', (evt) => {setShowNodeTooltip(true);}); // 节点上面触发 mouseleave 事件后隐藏 tooltip 和 ContextMenugraph.on('node:mouseleave', () => {setShowNodeTooltip(false);}); return

{showNodeTooltip && }

;

远程数据加载const response = await fetch('https://gw.alipayobjects.com/os/basement_prod/6cae02ab-4c29-44b2-b1fd-4005688febcb.json',);const remoteData = await response.json();graph.data(remoteData);// 加载远程数据graph.render();// 渲染useEffect(()=>{},[])

属性配置

图的元素特指图上的节点 Node 和边 Edge 。// 默认new G6.Graph({defaultNode: {},defaultEdge: {}}) //绘制attrs: {stroke: cfg.has_threat ?'red' :'gray',path,opacity:1,endArrow: cfg.has_threat ? {path: G6.Arrow.triangle(5,10,0),d:0,stroke:'red',fill:'red'} : undefined}, //节点node.x = newXY.x + center[0]node.y = newXY.y + center[1] //数据导入nodes: [{id:'node1',styles: {// 默认样式},stateStyles: {//... 见上方例子},// ...},],

布局运用

//点线数据{nodes:[{id:1}],edges:[]}//树数据{id:1,children:[{id:2}]}

交互

监听// 在图实例 graph 上监听graph.on('元素类型:事件名', (e) => {// do something//涉及节点状态管理});

状态graph.setItemState(item,'nodeClick',true) // 节点不同状态下的样式集合nodeStateStyles: {// 鼠标 hover 上节点,即 hover 状态为 true 时的样式nodeClick: {fill:'lightsteelblue',},},

行为modes: {default: ['drag-canvas','zoom-canvas','drag-node'],// 允许拖拽画布、放缩画布、拖拽节点},

插件// 实例化 minimap 插件const minimap =new G6.Minimap({size: [100,100],className:'minimap',type:'delegate',}); // 实例化图const graph =new G6.Graph({// ...                           // 其他配置项plugins: [minimap],// 将 minimap 实例配置到图上});

g6的minimap中的配置_g6 基本相关推荐

  1. g6的minimap中的配置_GitHub - OXOYO/X-Flowchart-Vue at 26e6bbefb15e75e91d98e2a7566e6567edb34a1e

    X-Flowchart-Vue A visual graph editor based on G6 and Vue. 预览 示例 # git clone https://github.com/OXOY ...

  2. g6的minimap中的配置_蚂蚁金服开源:数据驱动的高交互可视化图形语法G2

    原标题:蚂蚁金服开源:数据驱动的高交互可视化图形语法G2 AntV是蚂蚁金服全新一代数据可视化解决方案,主要包含「数据驱动的高交互可视化图形语法」G2.专注解决流程与关系分析的图表库 G6.适于对性能 ...

  3. http响应Last-Modified和ETag以及Apache和Nginx中的配置

    基础知识 1) 什么是"Last-Modified"? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属 ...

  4. Java中classpath配置

    Java中classpath配置 一.DOS常用命令 二.DOS常用命令实例 2.1 转换目录 cd 1.6* 2.2 删除文件 del 删除文件(windows删除从里往外删) del *.txt ...

  5. 在Spring3中,配置DataSource的方法有五种

    在Spring3中,配置DataSource的方法有五种. 第一种:beans.xml Xml代码 <bean id="dataSource" class="org ...

  6. .NET Core类库项目中如何读取appsettings.json中的配置

    这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 -- IConfiguration ,一种叫优雅的方法 -- IOptions . 1)先看丑陋的方法 比如在 RedisCli ...

  7. android studio annotations,AndroidAnnotations在Android Studio中的配置

    AndroidAnnotations是一款功能很强大的注解框架,具体使用我就不介绍了,大家可以自行百度了解.在eclipse的配置也比较简单,但是在android studio中的配置好像 Andro ...

  8. Linux中安装配置hadoop集群

    原文:http://www.cnblogs.com/lijingchn/p/5574476.html 一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把 ...

  9. 深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件

    文章目录: 1 yaml说明介绍 1.1 yaml介绍 1.2 YAML 相关网址 2 YAML的python包PyYAML的使用 2.1 关于PyYAML的相关网址 2.2 安装PyYAML 2.3 ...

最新文章

  1. 深入了解SAP S4 HANA Business Partner【中英文双语版】
  2. 如何在ubuntu上安装nvidia-docker同时与宿主共享GPU cuda加速
  3. 最大子段和——分治与动态规划
  4. Shell脚本之一 Shell脚本简介
  5. qq浏览器主页_讨论|360、金山毒霸、浏览器主页劫持
  6. “再见,Linux!”
  7. Azure HDInsight与Hadoop周边系统集成
  8. git21天打卡Day1-linux下安装git
  9. HanLP: Han Language Processing
  10. logstash zip linux安装,centos7.4安装测试logstash6.5.0
  11. Mac实用软件及功能吐血总结
  12. mysql五日均线代码_通达信均线源码,5日通达信均线公式源码
  13. 如何手动备份win10驱动和强制安装驱动
  14. java有理数类的封装_java-有理数类的设计
  15. Inkscape制作logo
  16. 设计模式笔记-----七大原则
  17. 千耘导航助力新疆精河县数万亩棉花播种
  18. 钗黛双收:若你也同Vim难割舍,却又看Emacs情切切
  19. 数字证书 X509详解 python解析SSL证书
  20. 湘潭大学c语言作业系统学生端,作业收发系统学生端使用说明

热门文章

  1. Linux 魔法系统请求键骇客
  2. 微信小程序制作课程表_微信小程序实现课程表实例
  3. 计网/数据库面试题(更新中ing~~)
  4. 在chrome下-webkit-box布局的一个bug
  5. hello.java 运行的整个流程
  6. 一文讲解Linux 内核网络协议栈-数据从接收到ip层
  7. 和机器学习和计算机视觉相关的数学
  8. 表头顺序不一样的表格如何合并_不同表头的多表合并
  9. 构建供销一体化电商交易体系,数商云S2B2B系统实现锂电池企业全面转型升级
  10. 我们应当怎样做需求确认:快速原型法