echarts关系图自定义节点坐标相互影响的问题

在使用Echarts的无布局(layout:none)关系图时,修改节点数据的x或y值会导致图表整体移动。由于关系图没有坐标轴,其位置基于节点数据的最大和最小值。通过在数据中添加basepoint固定图表坐标尺寸,可以防止节点位置因数据改变而变动。解决方案是在图表的四个角设置basepoint,限定节点坐标在特定范围内,确保坐标轴大小不变,从而稳定节点位置。

问题现象:

使用的是echarts是 <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script>
使用echarts关系图的layout: "none"布局,当修改节点数据们中最小或最大的x或y值时,整个图表移动
问题分析:(可能的原因)
关系图图表不是典型的二维图表,没有坐标轴,当然可以通过

  xAxis: {
   
   
    show: true,
    type: 'value',
    min: 0,
    max: 1000,
    axisLabel: {
   
   
      show: 
在使用 ECharts 的 graph 图制作人物关系图时,可通过为节点数据设置 `x` 和 `y` 属性来实现自定义坐标。以下是具体步骤和示例代码: ### 1. 引入 ECharts 库 在 HTML 文件中引入 ECharts 库,可以使用 CDN 链接: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.2/dist/echarts.min.js"></script> ``` ### 2. 创建 DOM 容器 在 HTML 文件中创建一个用于显示图表的 DOM 元素: ```html <div id="main" style="width: 600px;height:400px;"></div> ``` ### 3. 编写 JavaScript 代码 在 JavaScript 代码中,为节点数据设置 `x` 和 `y` 属性,示例如下: ```javascript // 初始化 echarts 实例 var myChart = echarts.init(document.getElementById('main')); // 定义节点和边的数据 var nodes = [ { name: '人物 A', x: 100, y: 100 }, { name: '人物 B', x: 200, y: 200 }, { name: '人物 C', x: 300, y: 100 } ]; var links = [ { source: '人物 A', target: '人物 B' }, { source: '人物 A', target: '人物 C' } ]; // 配置项 var option = { series: [ { type: 'graph', layout: 'none', // 不使用内置布局,使用自定义坐标 data: nodes, links: links, label: { show: true }, roam: true // 允许鼠标缩放和平移 } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 在上述代码中,`nodes` 数组中的每个对象代表一个人物节点,通过 `x` 和 `y` 属性指定了节点坐标。`links` 数组定义了人物之间的关系。`layout` 设置为 `'none'` 表示不使用 ECharts 内置的布局算法,而是使用自定义坐标
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨灰ash2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值