ECharts实现带有顶部横杠的柱状图

文章介绍了如何利用ECharts的markPoint属性来实现一种特定的柱状图效果,通过设置不同数据和样式,确保柱顶标记的精确性。对比了bar、pictorialBar、scatter等方法,强调markPoint能提供最完美的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图

在这里插入图片描述

实现(使用markPoint属性)
let xLength = 15;
let dataAxis = Array.from({ length: xLength }, (item, index) => index);
let data = [];
let rodData = [];
dataAxis.forEach((item, index) => {
  // 设置基础bar数据
  data.push(item + 10);
  // 设置markPoint数据
  rodData.push({
    symbol: 'rect',
    symbolSize: [20, 4],
    xAxis: item,
    yAxis: data[index], // 对应每列基础bar的值
    itemStyle: {
      color: 'rgba(0,222,255,1)'
    }
  });
});
option = {
  xAxis: {
    data: dataAxis,
    axisLabel: {
      color: '#999'
    },
    axisTick: {
      show: false
    },
    axisLine: {
      show: false
    }
  },
  yAxis: {
    axisLine: {
      show: false
    },
    axisTick: {
      show: false
    },
    splitLine: {
      show: false
    },
    axisLabel: {
      color: '#999'
    }
  },
  series: [
    {
      // 基础bar
      type: 'bar',
      itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          { offset: 0, color: 'rgba(0,222,255,0.3)' },
          { offset: 1, color: 'rgba(0,222,255,0.8)' }
        ])
      },
      data,
      barWidth: 20,
      markPoint: {
        data: rodData
      }
    }
  ]
};
ps: 本来是觉得有四种实现方式 【bar、pictorialBar、scatter:这三种方式的data值都为基础bar的data值➗设计稿尺寸比例 ,但是实现起来发现每个柱子顶部的横杠高度会有一些微小的差别,就只有markPoint能完美实现这个效果了==】(不知道是不是还有其他实现方式👀)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值