echart 选中折线节点(鼠标放上去),让整条折线加粗高亮

https://blog.csdn.net/qq_43036532/article/details/95629749

echart 将折线图高亮

echart 做图表时, 遇到了当鼠标悬浮在折线上,使折线高亮的问题,在网上查找了各种解决办法,得到的结果是如下:

在这里插入图片描述

发现当鼠标移到折线上的时候,只有折线上的点会变大,而且在 emphasis 里,貌似并不能修改 linestyle ,只能修改 label,itemStyle…

emphasis: {// 高亮样式
      itemStyle: {
          color: '#000'
      },
      borderColor: 'orange'
  }

最后仔细看了看文档,找到一个取巧的办法。。。
最终效果:

在这里插入图片描述

实现了 鼠标悬浮时 折线的高亮和显示框内 值 的高亮,下面附上部分代码:

var option = { // 这里面的就不多写了
	......
}

myChart.setOption(option);
myChart.on('mouseover', function (params) {// 鼠标移入
     // myChart.dispatchAction({
     //     type: 'highlight',
     //     seriesName: params.seriesName,
     // })

     myChart.setOption({// 设置 鼠标移入后想要的样式
         series: {
             name: params.seriesName,
             symbolSize: 4,
             lineStyle: {
                 width: 4
             }
         }
     })
 })

myChart.on('mouseout', function (params){// 鼠标移出
    // myChart.dispatchAction({
    //     type: 'downplay',
    //     seriesName: params.seriesName,
    // })

    myChart.setOption({// 将样式复原
        series: {
            name: params.seriesName,
            symbolSize: 2,
            lineStyle: {
                width: 2
            }
        }
    })
})

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
ECharts 中,可以通过 `dataZoom` 组件实现选中区域的功能。 使用 `dataZoom` 组件,需要在 `option` 中先定义一个 `dataZoom` 属性,如下所示: ```javascript option = { // ... 其他配置项 dataZoom: { type: 'inside', // 内置型数据区域缩放组件 start: 0, end: 100 }, // ... 其他配置项 }; ``` 其中,`type` 属性指定了数据区域缩放组件的类型,这里使用了内置型的 `inside`;`start` 和 `end` 属性表示选中区域的起始和结束位置,范围为 0-100。 接下来,在需要显示折线图的元素上绑定 `echarts.init` 方法,创建一个 ECharts 实例: ```javascript var myChart = echarts.init(document.getElementById('main')); ``` 然后,可以通过 `setOption` 方法设置图表的配置项和数据: ```javascript myChart.setOption(option); ``` 最后,就可以在折线图上进行选中区域的操作了。选中区域的样式可以通过 `dataZoom` 组件的 `textStyle` 属性和 `handleStyle` 属性进行配置。 完整的代码示例: ```javascript var option = { title: { text: '折线图', left: 'center' }, tooltip: { trigger: 'axis' }, legend: { data: ['销量'] }, xAxis: { data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] }, yAxis: {}, series: [{ name: '销量', type: 'line', data: [5, 20, 36, 10, 10, 20, 15] }], dataZoom: { type: 'inside', start: 0, end: 100, textStyle: { color: '#fff' }, handleStyle: { color: '#ddd' } } }; var myChart = echarts.init(document.getElementById('main')); myChart.setOption(option); ``` 注意:在使用 `dataZoom` 组件时,需要保证数据的顺序是递增的,否则可能会出现异常的显示效果

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值