Echarts堆叠柱状图圆角设置

背景

工作中有需要使用Echarts堆叠柱状图,并给单根柱条头部及底部的颜色设置圆角,常规的设置会生效于同一类颜色,无法达到效果,故设计一个简单的算法,给需要的颜色添加圆角。以下内容已横向柱状图为例。

分析
  • 给柱子设置圆角的方法,是给series设置itemStyle-barborderRadius,但是series指的是同一类颜色,会导致不同坐标的柱子无法根据自己具体的内容给不同的顶部(或底部)颜色设置圆角。
  • 考虑采用两次循环的方法,对不同坐标的数据及所含子项的颜色进行遍历,给每一个坐标下的每一个颜色单独判断赋值。
代码
// 遍历所有轴数据(此处需保证series中每项都有完整的子项,即使值为0)
for(let i in series[0].data) {
  // 遍历单根柱子
  for(let item of series) {
    if(item.data[i].value !== 0]) {
      // 找到第一个不为零的值,为该项添加样式
      item.data[i].itemStyle = {barborderRadius: [5, 0, 0, 5]};
      break;
    }
  }
  // 反向遍历,为另一头添加圆角
  for(let j = series.length - 1; j >= 0; j--) {
    if(series[j].data[i].value !== 0]) {
      // 当该项已经有一半为圆角,则设置为全圆角(即该坐标下仅一种颜色)
      series[j].data[i].itemStyle = series[j].data[i].itemStyle ? {barborderRadius: [5, 5, 5, 5]} : {barborderRadius: [5, 0, 0, 5]};
      break;
    }
  }
}
参考资料

CSDN

原文地址

个人博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值