Echarts 柱状图聚焦

10,562次阅读
没有评论

共计 1173 个字符,预计需要花费 3 分钟才能阅读完成。

聚焦功能 focus,Echarts 版本需要≥v5.0.0`

柱条与刻度标签联动聚焦

Echarts 柱状图聚焦
绘制一个简易的柱状图

xAxis: {
  type: 'category',
  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
  type: 'value'
},
series: [
  {
    data: [120, 200, 150, 80, 70, 110, 130],
    type: 'bar',
    emphasis: {
      focus: true 
    }
  }
]

设置 emphasis.focustrue,会触发聚焦效果,默认聚焦效果只会出现在柱条上,x 轴标签不会跟着一起联动。
Echarts 柱状图聚焦
需要结合事件处理函数 on 来实现

myChart.on('mouseover', param => {
  myChart.dispatchAction({
    type: "highlight",
    dataIndex: param.dataIndex
  })
  
  myChart.setOption({
    xAxis: {
      axisLabel: {
        color: (value, index) => {
          return index === param.dataIndex ? '#333' : '#eee'
        }
      }
    }
  })
})

myChart.on('mouseout', param => {
  myChart.dispatchAction({
    type: "downplay"
  })
  myChart.setOption({
    xAxis: {
      axisLabel: {
        color: (value, index) => {
          return '#333'
        }
      }
    }
  })
})

设置 xAxis.triggerEvent 开启标签响应鼠标事件

xAxis: {
  type: 'category',
  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
  triggerEvent: true
}

多柱条相同系列联动

Echarts 柱状图聚焦
注意要设置系列名

xAxis: {
  type: 'category',
  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
  type: 'value'
},
series: [
  {
    name: '上月',
    data: [120, 200, 150, 80, 70, 110, 130],
    type: 'bar',
    emphasis: {
      focus: true
    }
    
  },
  {
    name: '本月',
    data: [98, 123, 152, 110, 90, 160, 120],
    type: 'bar',
    emphasis: {
      focus: true
    }
  }
]

同一个系列高亮

myChart.on('mouseover', param => {
  myChart.dispatchAction({
    type: "highlight",
    seriesName: param.seriesName
  });
})






原文地址: Echarts 柱状图聚焦

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-01发表,共计1173字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)