AntV X6/Xflow 导出 svg/png/jpeg 问题解决

AntV X6/Xflow 导出 svg/png/jpeg 问题解决

导出 svg/png/jpeg 时,处于画布边缘的节点的连接桩或 label 标签显示不完整

问题截图:

界面

导出的图片

解决办法:

  1. 导出 png/jpeg 格式可以通过设置Export.ToImageOptionspadding 解决
  2. 导出 svg 格式,Export.ToSVGOptions暂无直接可用的 padding 配置,所以我的方式是使用getContentBBox获取画布内容的矩形区域,并进行一定的数值增减,将其作为导出时的 viewbox
tsx 复制代码
import React, { useEffect, useRef } from 'react'
import { Graph, Rectangle, useExport, useGraphInstance } from '@antv/xflow'

const handleExportPng = () => {
  exportPNG('png-chart', { padding: 20 })
}

const handleExportJpeg = () => {
  exportJPEG('jpeg-chart', { padding: 20 })
}

const handleExportSvg = () => {
  const box = graph.current?.getContentBBox()
  const { x, y, width, height } = box as Rectangle
  const viewBox = {
    x: x - 20,
    y: y - 20,
    width: width + 40,
    height: height + 40
  }
  exportSVG('svg-chart', { viewBox })
}

如有更好的解决办法,欢迎在评论区交流讨论

效果展示:

更多问题可查阅以下链接

相关推荐
FIT2CLOUD飞致云2 天前
操作教程 | 在DataEase中嵌入SQLBot开源智能问数系统
开源·数据可视化
山海鲸可视化2 天前
简单聊聊数据可视化大屏制作的前端设计与后端开发
前端·信息可视化·数字孪生·数据可视化·3d模型·三维渲染
玄魂2 天前
VTable Gantt 智能 zoom(缩放)功能介绍与开发实践
前端·开源·数据可视化
HsuHeinrich3 天前
利用径向柱图探索西班牙语学习数据
python·数据可视化
玄魂3 天前
VChart 官网上线 智能助手与分享功能
前端·llm·数据可视化
京东零售技术3 天前
Hudi系列:Hudi核心概念之时间轴(TimeLine)
大数据·数据可视化
聊聊MES那点事4 天前
汽车零部件MES系统实施案例介绍
人工智能·信息可视化·汽车·数据可视化
敲敲敲敲暴你脑袋4 天前
用3Dmol.js展示3D分子结构
typescript·webgl·数据可视化
我要学习别拦我~4 天前
数据比例与尺度:如何避免让图“放大”差异
经验分享·信息可视化·数据可视化
SelectDB5 天前
岚图汽车 x Apache Doris : 海量车联网数据实时分析实践
数据分析·github·数据可视化