5.0以上版本antv/g6使用心得

1. 画布只重新渲染数据

  • graph.render = graph.draw+graph,fitview()+graph.fitCenter()
  • setData塞入新的数据
const updateGraph = (data) => {if (!graph) {console.warn("Graph is not initialized");return;}graph.clear();graph.setData(data);graph.render();
};

2. 画布修改大小

const resizeGraph = (width, height) => {if (!graph) return;graph.setSize(width, height);
};

3. 获取画布宽高

  1. 使用ref元素获取panelRef.value.$el.clientWidth/cilentHeight
  2. 如果这个div块是一会儿显示一会儿隐藏,为了1获取宽高生效,在隐藏的时候,css:display:none不行,读出来的一直都是0,应该用display:hidden

4. 定义combo、node、edge的样式

1. 节点

  1. 节点/边设置
node: {style: (d) => {return setNodeStyle(d);},},edge: {type: "cubic-vertical",style: (d) => {return setEdgeStyle(data, d);},},
  1. 节点大小、标签、标签背景、字体大小、边框虚实等样式都是定义在style里,style和type是并列元素
  • 标签过长换行: labelMaxWidth是基于节点的宽度设置的百分比。
	labelWordWrap: true,labelMaxLines: 10,labelMaxWidth: "500%"
  • 完整配置
const setNodeStyle = (d) => {//flag:true-真实节点;false-虚拟节点let style = {size: NodeColor.find((item) => +item.category === +d.category)?.size || 16, //节点大小labelText: d.name,labelPlacement: "bottom",lineWidth: d.flag ? 0 : 1,lineDash: [5, 1],stroke: fillNodeColor(d), //节点边框颜色// labelOffsetX: 8,labelOffsetY: 4,labelTextAlign: "center",labelFontSize: 8,labelWordWrap: true,labelMaxLines: 10,labelMaxWidth: "500%",labelFontStyle: "italic",labelBackground: true,labelBackgroundFill:"linear-gradient(rgba(230,100,101,0.12), rgba(145,152,229,0.12))",labelBackgroundStroke: "rgba(230,100,101,0.4)",labelBackgroundRadius: 2,ports: [{ placement: "top" }, { placement: "bottom" }],fill: fillNodeColor(d), //节点颜色};return style;
}
  • 定义节点边框虚实:lineDash,边框颜色:stroke;边宽:lineWidth
  • 定义节点填充色:fill

2. combo

  1. combo设置
 combo: {type: "rect",style: (d) => {return setComboStyle(d);},},
  1. combo样式
const setComboStyle = (d) => {let style = {padding: 15,lineDash: [5, 5],lineWidth: 1,radius: 4,fill: "rgba(120,99,255,0.5)",zIndex: 10, //不让点击combo里的节点,而是点击combo弹框labelText: JSON.stringify(d.count) || "0", //必须是string类型,number类型会报错labelPlacement: "bottom",lineWidth: 1,lineDash: [5, 1],stroke: "rgba(120,99,255,0.5)", //节点边框颜色labelOffsetY: 10,labelFontSize: 12,labelFontStyle: "italic",};return style;
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.5V~100V, 3.8A 峰值电流限, 非同步, 降压转换器,LA1823完美替换MP9487方案

一:综述 LA1823 是一款易用的非同步,降压转换器。 该模块集成了 500mΩ 低导通阻抗的高侧 MOSFET。LA1823 使用 COT 控制技术。此种控制方式有利于快速动态响应,同时简化了反馈环路的设计。LA1823 可以提供最大 2A 的持续负载电流。LA1823有150kHz/240kH…

如何定位并优化慢 SQL?

如何定位并优化慢 SQL? 一、慢 SQL 的定义与影响 1.1 什么是慢 SQL? 慢 SQL是指执行时间超过预期阈值的SQL语句,通常由以下特征: 执行时间超过慢查询阈值(如MySQL默认10秒)消耗大量CPU/IO资源导致连接堆积或系统负载升高关键结论:慢SQL是数据库性能瓶颈的主要诱因,可…

提升WSL中Ubuntu编译速度的完整指南

在 WSL(Windows Subsystem for Linux)中使用 make 编译项目时,如果发现编译速度非常慢,通常是由以下几个原因导致的。以下是一些常见的排查和优化方法: 🔍 一、常见原因及解决方案 ✅ 1. 文件系统性能问题…

77. 组合【 力扣(LeetCode) 】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 77. 组合 一、题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 二、测试用例 示例 1: 输入&…

C++中指针与引用的区别详解:从原理到实战

C中指针与引用的区别详解:从原理到实战 1. 引言:指针与引用的重要性 在C编程中,指针和引用是两个极其重要的概念,也是许多初学者容易混淆的地方。作为C的核心特性,它们直接操作内存地址,提供了对内存的直…

WebFuture:网站部分图片突然无法显示的原因

问题描述: 主站群迁移到linux系统后,原先部署在windows下的子站群节点部分图片无法显示。 原因分析: 检查无法显示的图片的路径,发现调用的是原先主站的图片。主站重新部署到linux系统后,图片路径会区分大小写所以统…

uniapp使用Canvas生成电子名片

uniapp使用Canvas生成电子名片 工作中有生成电子名片的一个需求&#xff0c;刚刚好弄了发一下分享分享 文章目录 uniapp使用Canvas生成电子名片前言一、上代码&#xff1f;总结 前言 先看效果 一、上代码&#xff1f; 不对不对应该是上才艺&#xff0c;哈哈哈 <template…

PostgreSQL ALTER TABLE 命令详解

PostgreSQL ALTER TABLE 命令详解 引言 PostgreSQL 是一款功能强大的开源关系型数据库管理系统&#xff0c;它提供了丰富的命令来帮助数据库管理员和开发者管理数据库中的表。其中&#xff0c;ALTER TABLE 命令是 PostgreSQL 中最常用的命令之一&#xff0c;用于修改表的结构…

Kafka KRaft + SSL + SASL/PLAIN 部署文档

本文档介绍如何在 Windows 环境下部署 Kafka 4.x&#xff0c;使用 KRaft 模式、SSL 加密和 SASL/PLAIN 认证。stevensu1/kafka_2.13-4.0.0 1. 环境准备 JDK 17 或更高版本Kafka 4.x 版本&#xff08;本文档基于 kafka_2.13-4.0.0&#xff09; 2. 目录结构 D:\kafka_2.13-4.…

MQTT协议,EMQX部署,MQTTX安装学习

一、MQTT概述 1.什么是MQTT MQTT是一种基于“发布订阅“”模式的消息传输协议。 消息&#xff1a;设备和设备之间传输的数据&#xff0c;或者服务和服务之间要传输的数据。 协议&#xff1a;传输数据时所遵循的规范。 2.常见的通讯模式 &#xff08;1&#xff09;客户端-服…

Java Web 开发详细流程

&#x1f9ed; 一、项目立项与需求分析阶段&#xff08;0%&#xff09; 1.1 商业需求确认 与产品经理沟通核心业务目标 目标&#xff1a;构建一个图书管理系统用户&#xff1a;图书管理员、普通用户功能&#xff1a;登录、查看、增删改图书、权限控制、分页、搜索 1.2 输出文…

学习路之PHP--easyswoole_panel安装使用

学习路之PHP--easyswoole_panel安装使用 一、新建文件夹二、安装三、改配置地址四、访问 IP:Port 自动进入index.html页面 一、新建文件夹 /www/wwwroot/easyswoole_panel 及配置ftp 解压easyswoole_panel源码 https://github.com/easyswoole-panel/easyswoole_panel 二、安…

软件设计综合知识

software-design 软考中级-软件设计师-综合知识&#xff1a;计算机系统基础、操作系统、计算机网络与信息安全、程序语言基础、数据库基础、数据结构与算法、软件工程基础知识、标准与知识产权等。 —— 2025 年 3 月 5 日 甲辰年二月初六 惊蛰 目录 software-design1、计算机基…

海思 35XX MIPI读取YUV422

1.项目背景&#xff1a; 使用海思芯片&#xff0c;接收FPGA发送的MIPI数据&#xff0c;不需要ISP处理&#xff0c;YUV图像格式为YUV422。 2.移植MIPI驱动 修改IMX347的驱动远吗&#xff0c;将I2C读写的部分注释&#xff0c;其他的不用再做修改。 int imx347_slave_i2c_init(ot…

算力租赁革命:弹性模式如何重构数字时代的创新门槛​

一、算力革命&#xff1a;第四次工业革命的核心驱动力​ 在科技飞速发展的当下&#xff0c;我们正悄然迎来第四次工业革命。华为创始人任正非在一场程序设计竞赛中曾深刻指出&#xff0c;这场革命的基础便是大算力。随着 5G、人工智能、大数据、物联网等信息技术的迅猛发展&am…

改写自己的浏览器插件工具 myChromeTools

1. 起因&#xff0c; 目的: 前面我写过&#xff0c; 自己的一个浏览器插件小工具 最近又增加一个小功能&#xff0c;可以自动滚动页面&#xff0c;尤其是对于那些瀑布流加载的网页。最新的代码都在这里 2. 先看效果 3. 过程: 代码 1, 模拟鼠标自然滚动 // 处理滚动控制逻辑…

深度学习篇---OC-SORT简介

OC-SORT&#xff08;Observation-Centric SORT&#xff09;是一种以观测为中心的多目标跟踪算法&#xff0c;旨在解决传统 SORT 算法在目标遮挡、外观变化和复杂交互场景下关联准确性不足的问题。以下是其详细介绍&#xff1a; 核心创新点 以观测为中心的在线平滑&#xff08…

硬件工程师笔记——二极管Multisim电路仿真实验汇总

目录 1 二极管基础知识 1.1 工作原理 1.2 二极管的结构 1.3 PN结的形成 1.4 二极管的工作原理详解 正向偏置 反向偏置 multisim使用说明链接 2 二极管特性实验 2.1 二极管加正向电压 2.2 二极管加反向电压 2.3 二极管两端的电阻 2.4 交流电下二级管工作 2.5 二极…

vscode中让文件夹一直保持展开不折叠

vscode中让文件夹一直保持展开不折叠 问题 很多小伙伴使用vscode发现空文件夹会折叠显示, 让人看起来非常难受, 如下图 解决办法 首先打开设置->setting, 搜索compact Folders, 去掉勾选即可, 如下图所示 效果如下 看起来非常爽 ! ! !

设计模式学习笔记

设计模式 一&#xff1a;分类&#xff1a; 创建型模式 用于描述“怎样创建对象”&#xff0c;它的主要特点是“将对象的创建与使用分离”。GoF&#xff08;四人组&#xff09;书中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式 用于描述如何将…