eCharts xAxis 标签点击事件

标签 echarts

我正在寻找一种在 xAxis 标签上注册点击事件的方法。用户应该能够点击 xAxis 标签(而不是系列),我们应该能够调用一个函数。

无论是直接方式还是间接方式都应该没问题。

最佳答案

您几乎可以收听任何事件。只需启用 Axis 事件并按参数过滤事件。即,您需要这样做:

  1. 启用 xAxis 事件:
option = {
  // ...
  xAxis: {
    // ...
    triggerEvent: true
  }
}
  1. 开始监听图表实例中的click事件并检查targetType以获取标签的所有事件:
myChart.on('click', params => {
  if(params.targetType === 'axisLabel'){
    if(params.value === 'MyLabel #3'){
      console.log("Hello, is it me you're looking for");
      // Do something ...
    }
  }
})

您也可以使用简写并删除 if:

myChart.on('click', { targetType: 'axisLabel', value: 'Category1' }, params => {
  console.log(params.value);
})

var myChart = echarts.init(document.getElementById('main'));
  var option = {
      title: {
          text: 'ECharts'
      },
      tooltip: {},
      xAxis: {
          data: ["Category1","Category2","Category3"],
          triggerEvent: true
      },
      yAxis: {},
      series: [{
          name: 'Series',
          type: 'bar',
          data: [5, 20, 36]
      }]
  };

  myChart.setOption(option);
  
  myChart.on('click', params => {
  	if(params.targetType === 'axisLabel'){
      console.log(params.value);    	
    }
  })
<script src="https://cdn.jsdelivr.net/npm/echarts@4.7.0/dist/echarts.min.js"></script>
<div id="main" style="width: 600px;height:400px;"></div>

关于eCharts xAxis 标签点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61315486/

相关文章:

echarts - 自定义颜色 gridLine echarts

javascript - 删除 'axis' 触发器上的工具提示悬停效果

javascript - echarts-事件3.1.6

animation - ECharts 仅禁用符号(marker)动画

javascript - echarts.js 饼图工具提示悬停不工作

javascript - ECharts 3.0 美国各州自定义 map 颜色

r - 如何使 echarts4r 上的标题居中?

javascript - echart如何创建多个动态值的标签?

javascript - ECharts-如何显示带有 3 行图例的水平滚动条,如果项目不适合 3 行则滚动

javascript - 点击echart条形图时如何突出显示条形?