antvis/G6

使用linkcenter后,某些线条的箭头被节点遮挡 #5010

nodiff-229 posted onGitHub

问题描述

使用linkcenter后,某些线条的箭头被节点遮挡,比如图中的rect和eclipse节点

重现链接

重现步骤

预期行为

希望箭头指向节点中心,但应在接触到节点外轮廓时停止

平台

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

屏幕截图或视频(可选)

WX20230925-154132@2x

补充说明(可选)

No response


const graph = new G6.Graph({
    container: containerId,
    width: overviewGraphContainer.clientWidth,
    height: overviewGraphContainer.clientHeight,
    modes: {
      default: ["drag-canvas", "zoom-canvas", "drag-node"],
    },
    layout: {
      type: "gForce",
      preventOverlap: true,
      gravity: 10,


      linkDistance: (d) => {
        return 100 + (d.source.size + d.target.size) / 2;

      },
    },
    defaultNode: {
      size: 30,
      style: {
        lineWidth: 2,
        fill: "#C6E5FF",
        stroke: "#5B8FF9",
      },
      stateStyles: {
        dim: {
          opacity: 0.2,
        },
      },
    },
    defaultEdge: {
      type:'quadratic',
      labelCfg: {
        autoRotate: true,
      },
      style: {

        stroke: "#C0C4CC",
        lineWidth: 2,
        endArrow: {
          path: G6.Arrow.triangle(3, 10, 15),
          d: 15,
          opacity: 0.5,
        },


      },
    },
    maxZoom: 1.5, // 最大缩放比例
    linkCenter: true,// 指定边是否连入节点中心
    // 启用tooltip,悬浮时展示边信息,暂时不用,注释掉了
    plugins: [
      // new G6.Tooltip({
      //   getContent(evt) {
      //     const {item} = evt;
      //     const model = item.getModel();
      //     return getTooltip(model);
      //   },
      //   offsetX: 10,
      //   offsetY: 20,
      //   itemTypes: ["node", "edge"],
      // }),
    ],
  });
posted by nodiff-229 over 1 year ago

因为形状不是规则的,所以一个节点使用相同的缩进 d 会导致这个问题。也许可以尝试指定几个连入位置:https://g6.antv.antgroup.com/manual/middle/elements/nodes/anchorpoint

posted by Yanyan-Wang over 1 year ago

不设置 linkCenter 、箭头的 d、anchorPoints,会自动寻找节点边缘的最近位置:

image

posted by Yanyan-Wang over 1 year ago

This issue has been closed because it has been outdate for a long time. Please open a new issue if you still need help.

这个 issue 已经被关闭,因为 它已经过期很久了。 如果你仍然需要帮助,请创建一个新的 issue。

posted by github-actions[bot] 10 months ago

Fund this Issue

$0.00
Funded

Pull requests