美文网首页程序员
echarts 折线图如何添加点击事件

echarts 折线图如何添加点击事件

作者: 明眸yh | 来源:发表于2020-12-03 14:01 被阅读0次

给echarts折线图的某个点添加点击事件,并打印横纵坐标点的数据。

实现效果

效果展示

点击事件

echart添加点击事件用通过on 方法实现

myChart.on('click', function (params) {
    // 控制台打印数据的名称
    console.log(params.name);
});

制作折线图表

  • 通过cdn引入
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> 
  • 编写html
<div id="main" style="width: 100%;height:503px;overflow: hidden;"></div>
  • 实现一个echarts
<script type="text/javascript">
  
    function showLine2(str) {
      console.log(str)
      var edata = JSON.parse(str)
      var myChart = echarts.init(document.getElementById('main'));
      // 图表的配置项和数据
      var option = {
        
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross'
          }
        },
        toolbox: {
          show: false,
          feature: {
            saveAsImage: {}
          }
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          axisLine: {
            color: '#666669',
            lineStyle: {
              type: 'solid',
              color: '#666669',//左边线的颜色
              width:'1'//坐标线的宽度
            }
          },
          name: '秒',
          axisLabel: {
            formatter: '{value} ',
            color: '#666669'
          },
          data: edata.arr1
        },
        yAxis: {
          name: 'mm/s',
          type: 'value',
          axisLabel: {
            formatter: '{value} ',
            color: '#666669'
          },
          splitLine: {
            lineStyle: {
              color: "#EEEEF1"
            }
          },
          axisLine: {
            color: '#666669',
            lineStyle: {
              type: 'solid',
              color: '#666669',//左边线的颜色
              width:'1'//坐标线的宽度
            }
          },
          axisPointer: {
            snap: true
          }
        },
        visualMap: {
          show: false,
          dimension: 0,
          pieces: [{
            lte: 6,
            color: '#FF4A4A'
          }, {
            gt: 6,
            lte: 8,
            color: '#FF4A4A'
          }, {
            gt: 8,
            lte: 14,
            color: '#FF4A4A'
          }, {
            gt: 14,
            lte: 17,
            color: '#FF4A4A'
          }, {
            gt: 17,
            color: '#FF4A4A'
          }]
        },
        dataZoom: [{
          show: true,
          type: 'inside',
          filterMode: 'none',
          xAxisIndex: [0],
          startValue: -20,
          endValue: 20
        }, {
          show: true,
          type: 'inside',
          filterMode: 'none',
          yAxisIndex: [0],
          startValue: -20,
          endValue: 20
        }],
        series: [{
          itemStyle : {
            normal : {
              lineStyle:{
                color:'#FF4A4A'
              }
            }
          },
          name: 'Hz',
          type: 'line',
          smooth: true,
          data: edata.arr2,
        }]
      };
      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    }
    // 此处为数据,这里就不模拟了,可随便放点数据上去
    let data = {
        arr1:[],
        arr2:[]
    }
    let str = JSON.stringify(data)
    showLine2(str)
  </script>
  • 效果


点击事件添加

此代码添加到myChart.setOption(option);下方就实现我们想要的效果了。

myChart.on('click', function (params) {
        console.log(params)
        let data = {
          x: params.name,
          y: params.value
        }
        console.log(data)
        alert(JSON.stringify(data))
        // window.webkit.messageHandlers.iOSObj.postMessage(data)
      });

注意:此方法只有点击柱状图形和折线的圆形折点才能触发通过on添加的事件监听。

相关文章

网友评论

    本文标题:echarts 折线图如何添加点击事件

    本文链接:https://www.haomeiwen.com/subject/xzjmwktx.html