优秀的编程知识分享平台

网站首页 > 技术文章 正文

如何实现Echarts图标柱状图颜色渐变效果?

nanyue 2024-09-01 20:24:30 技术文章 17 ℃

接到一个做数据可视化的需求,要求让柱状图的颜色实现渐变效果,如下图所示。应该如何实现呢?

如何实现

研究Echarts实现库发现普通的库提供的就是如下的方案,内容是纯色的,没有办法实现渐变

itemStyle属性

这个属性是用来设置柱状图显示方式的,其中包含了很多的属性,其中itemStyle属性就是用来设置柱状图样式的,我们可以通过这个属性来设置柱状图的样式。

  • color:用来设置柱条的颜色
  • borderColor:用来设置柱条的边框的颜色
  • borderWidth:柱条边框的宽度
  • borderType:柱条类型,有三种类型solid、dashed、dotted
  • borderRadius:柱条圆角半径
  • shadowBlur:图形的阴影模糊大小,可以配合shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果
  • shadowColor:阴影颜色
  • shadowOffsetX:水平方向上阴影偏移量
  • shadowOffsetY:垂直方向上的阴影偏移量
  • opacity:图形的透明度
  • decal:贴花图案

因为我们要设置颜色的渐变,所以需要对颜色属性进行调整,可以通过如下的方式来实现渐变的效果。

itemStyle: {
      color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          { offset: 0, color: '#72beff' },
          { offset: 0.5, color: '#8ecbff' },
          { offset: 1, color: '#b6dcff' }
      ])
},

这里引入了new echarts.graphic.LinearGradient来设置柱条颜色的渐变效果,并且分别指定了0、0.5、1 三个位置的的颜色值,设置完成之后最终效果就是如下所示。

这是普通样式显示效果,可以通过如下的内容来配置鼠标移入的效果。

emphasis: {
    itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
            { offset: 0, color: '#b6dcff' },
            { offset: 0.7, color: '#8ecbff' },
            { offset: 1, color: '#72beff' }
        ])
    }
},

配置完成之后鼠标移入的时候,会以反向的方式来显示柱条的渐变颜色。如下图所示

总结

通过上面的方式就可以实现柱状图柱条渐变颜色的设置,当然这是横向的柱条样式,纵向的柱条样式也可以通过这种方式来实现。

最近发表
标签列表