请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证
超级版主   /  发表于:2025-7-4 15:57  /   查看:21  /  回复:0
本帖最后由 Eden.Sun 于 2025-7-4 17:21 编辑

今天介绍在Wyn8.1版本中实现图表保留前N项。


1. 保留前N项,剩余的数据统一显示为“其他”
1.1 自定义属性代码:
  1. console.log(option);
  2. const data = option.series[0].data;

  3. // 默认保留前3项,
  4. const preCount = 3;
  5. const newData = [];
  6. const newSeries = [];
  7. let otherNumSum = 0;

  8. // 确保数据有效
  9. if (!Array.isArray(data) || data.length === 0) {
  10.   console.error('Invalid data format');
  11.   return option;
  12. }

  13. // 处理数据
  14. for (let i = 0; i < data.length; i++) {
  15.   const item = data[i];
  16.   if (i < preCount) {
  17.     // 前preCount项保持原样
  18.     newData.push(item);
  19.     newSeries.push(item.name);
  20.   } else {
  21.     // 其余项合并为"其他"
  22.     otherNumSum += item.value;
  23.   }
  24. }

  25. // 添加"其他"项(仅当有合并数据时)
  26. if (otherNumSum > 0) {
  27.   newData.push({ name: "其他", value: otherNumSum});
  28.   newSeries.push("其他");
  29. }

  30. // 更新配置
  31. option.series[0].data = newData;
  32. option.xAxis.data = newSeries;
  33. // 添加提示标签
  34. option.tooltip = {}
  35. return option;
复制代码


2. 只保留前N项
代码继续试用上面的代码,修改数据处理部分的内容,删除数据合并部分:

查看效果:



附件是demo,需要的小伙伴可以下载使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部