前端-点击柱状图的柱子时调用函数

效果图

点击左图柱子获取右图的数据

代码如下

 mounted() {
    this.myChart1 = echarts.init(this.$refs.topL);
    this.option1 && this.myChart1.setOption(this.option1);
    this.myChart2 = echarts.init(this.$refs.topR);
    this.option2 && this.myChart2.setOption(this.option2);

    let myChart3 = echarts.init(this.$refs.bottom);
    this.option3 && myChart3.setOption(this.option3);

    this.myChart1.getZr().off(); // 这个代码很重要,必须要加上,要不然的话你可以试试看
    this.myChart1.getZr().on('click', params => {
      const actionObj = params.target;
      console.log('actionObj', actionObj);
      const myKey = Object.keys(actionObj)
        .sort()
        .filter(_ => _.indexOf('ec_inner') !== -1)[0];
      console.log('myKey', myKey);
      const res = actionObj[myKey];
      console.log(`当前点击了第${res.dataIndex}组数据中的第${res.seriesIndex}个柱子`);
      var pointInPixel = [params.offsetX, params.offsetY];
      if (this.myChart1.containPixel('grid', pointInPixel)) {
        /*此处添加具体执行代码*/
        var pointInGrid = this.myChart1.convertFromPixel({ seriesIndex: 0 }, pointInPixel);
        //X轴序号
        var xIndex = pointInGrid[0];
        console.log('点击了横纵坐标', pointInPixel);
        console.log('【点击了第几组数据,纵坐标】', pointInGrid);
        //获取当前图表的option
        var op = this.myChart1.getOption();
        console.log('数据信息', op);
        //获得图表中我们想要的数据---下面就不简写了,默认说我们的折现有2条吧
        var xValue = op.xAxis[0].data[xIndex];
        console.log('x轴所对应的名字', xValue);
      }
    });
  },

  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 Echarts 创建柱状图并添加点击事件,可以通过以下步骤实现: 1. 首先,在 HTML 文件中引入 Echarts 的库文件,例如: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.0/dist/echarts.min.js"></script> ``` 2. 在 HTML 文件中创建一个容器用于显示柱状图,例如: ```html <div id="chart-container" style="width: 100%; height: 400px;"></div> ``` 3. 在 JavaScript 代码中,获取容器元素,并初始化 Echarts 实例,例如: ```javascript var chartContainer = document.getElementById("chart-container"); var chart = echarts.init(chartContainer); ``` 4. 定义柱状图的数据和配置项,例如: ```javascript var data = { labels: ['A', 'B', 'C', 'D'], values: [10, 20, 30, 40] }; var options = { xAxis: { data: data.labels }, yAxis: {}, series: [{ type: 'bar', data: data.values }] }; ``` 5. 将数据和配置项设置给柱状图实例,并渲染图表,例如: ```javascript chart.setOption(options); ``` 6. 添加点击事件,在配置项中设置点击事件的回调函数,例如: ```javascript options.series[0].onclick = function(params) { // params 中可以获取被点击柱状图数据和坐标信息 // 在这里可以执行点击事件的逻辑操作 console.log(params); }; ``` 通过以上步骤,我们就可以使用 Echarts 创建柱状图并添加点击事件了。点击柱状图点击事件的回调函数会被触发,可以在该函数中处理相应的业务逻辑。 ### 回答2: ECharts 是一种功能强大的数据可视化库,可以用于创建各种类型的图表,包括柱状图。在 ECharts 中实现柱状图点击事件的步骤如下: 1. 首先,我们需要引入 EChartsJavaScript 文件,包括 echarts.js 和主题文件。可以通过在 HTML 文件中添加以下代码来引入文件: ```html <script src="echarts.js"></script> <script src="echarts-theme.js"></script> ``` 2. 接下来,我们需要在 HTML 的某个 `<div>` 元素中创建一个容纳柱状图的容器。例如: ```html <div id="chartContainer" style="width: 600px; height: 400px;"></div> ``` 3. 然后,我们可以通过 JavaScript 来配置和渲染柱状图。首先,创建一个 ECharts 实例并指定图表容器: ```javascript var chartContainer = document.getElementById('chartContainer'); var chart = echarts.init(chartContainer); ``` 4. 接着,定义柱状图的配置项,并给柱状图添加一些数据: ```javascript var options = { title: { text: '柱状图示例', subtext: '点击柱状图触发事件' }, xAxis: { data: ['选项1', '选项2', '选项3', '选项4'] }, yAxis: {}, series: [{ name: '柱状图', type: 'bar', data: [30, 40, 20, 50] }] }; chart.setOption(options); ``` 5. 最后,在柱状图的 `series` 中添加点击事件: ```javascript chart.on('click', function(params) { // 这里可以编写点击事件触发后的逻辑代码 // 可以通过 params 参数获取被点击柱状图信息,如 params.dataIndex 获取被点击柱状图的索引 console.log(params); }); ``` 以上就是通过 ECharts 实现柱状图点击事件的简单步骤。当点击柱状图触发点击事件可以根据需要进行逻辑处理,例如展示详细信息、跳转到其他页面等。通过配置和处理点击事件,可以为用户提供更加交互和丰富的数据可视化体验。 ### 回答3: echarts 是一款非常强大的数据可视化工具,可以用来展示各种图表,包括柱状图。在 echarts 中,我们可以通过简单的代码来添加点击事件。 首先,我们需要初始化一个 echarts 实例,并指定一个容器来放置图表。接下来,我们可以通过设置 xAxis、yAxis 和 series 来定义柱状图的数据。 然后,我们可以通过调用 on 方法来添加点击事件。通过这个方法,我们可以在点击柱状图触发指定的回调函数。在回调函数中,我们可以获取到点击的坐标以及对应的数据。 点击事件的实现代码可能如下所示: ```javascript // 初始化 echarts 实例 var myChart = echarts.init(document.getElementById('container')); // 定义柱状图的数据 var option = { xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E', 'F'] }, yAxis: { type: 'value' }, series: [{ data: [10, 20, 30, 40, 50, 60], type: 'bar' }] }; // 设置柱状图点击事件 myChart.on('click', function(params) { // 打印点击的坐标和对应的数据 console.log(params); }); // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 上述代码中,我们创建了一个柱状图,当用户点击图表上的柱子,会打印出点击的坐标和对应的数据。我们可以根据实际需求,在点击事件的回调函数中进行一些自定义操作,比如显示更详细的信息或者跳转到其他页面。 总之,通过以上方式,我们可以很方便地为 echarts柱状图添加点击事件,并在点击事件的回调函数中进行相应的操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值