G6 icon indicating copy to clipboard operation
G6 copied to clipboard

用G6画树状图,拖动画布或者缩放画布,画布上会残留部分拖动前的图的痕迹

Open Liwenxiaotao opened this issue 2 years ago • 5 comments

问题描述

用G6画树状图,拖动画布或者缩放画布,画布上会残留部分拖动前或者缩放前的图的痕迹

重现链接

重现步骤

预期行为

拖动或者缩放画布时,不会残留操作前的树状图

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.5.1 ... ]

屏幕截图或视频(可选)

微信图片_20220424181343

补充说明(可选)

No response

Liwenxiaotao avatar Apr 24 '22 10:04 Liwenxiaotao

是自定义节点吗?看下节点中的图形有没有非法值的属性呢

Yanyan-Wang avatar May 05 '22 14:05 Yanyan-Wang

是自定义节点吗?看下节点中的图形有没有非法值的属性呢

我也是这样,就是用汉字,好像就会出现这种情况。 而且初次渲染这样 image 拖动一下前边变好了后边会这样 image 和这个里边一样的用法,https://antv-g6.gitee.io/zh/examples/tree/compactBox#basicCompactBox,就是字变成了汉字和数字的

zhaomenglu avatar May 27 '22 08:05 zhaomenglu

图形中的 x/y/width/height/fontSize 等与图形大小/位置相关的数值型属性若存在小数,也可能造成以上问题。在自定义节点中可以尽量时候 Math.round Math.ceil 等方法取整

Yanyan-Wang avatar Jul 29 '22 03:07 Yanyan-Wang

no,I let the combo hide ,then the label of the combo will be residual image image

my code below: image image

huabulai avatar Aug 03 '22 03:08 huabulai

已确认使用中文字符可能会出现此问题 把字体改为monospace问题消失,但不是长久之计

yuyi919 avatar Sep 21 '22 04:09 yuyi919

遇到以上问题,尝试几个解决方案:

  1. 检查节点中的图形,包括文本图形,样式配置中是否存在非法值,例如 null NaN 等;

  2. 尽量使用整数座位数值型的样式值,例如 r width height fontSize 等

  3. 使用浏览器字体作为 labelCfg.style.fontFamily

  4. 给文本增加白色描边,如 labelCfg: { style: { stroke: '#fff', lineWidth: 4 } }

  5. 以上方法都不奏效,关闭局部渲染 graph.get('canvas').set('localRefresh', false); 这个方法可能导致性能有所降低

Yanyan-Wang avatar Nov 29 '22 09:11 Yanyan-Wang