echarts 点击(柱图、折线图)图表外的按钮,高亮图表中的某些柱子何点位

2024-06-17 13:44

本文主要是介绍echarts 点击(柱图、折线图)图表外的按钮,高亮图表中的某些柱子何点位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:实现当用户点击 ECharts 中的某个图表之外的按钮时,图表中的两个折线点的图形颜色高亮显示或者两个柱子高亮显示,实现这个功能其实很简单,ECharts 官网有 Api 可实现,方法如下:

// 如果要高亮系列:
dispatchAction({type: 'highlight'// 用 index 或 id 或 name 来指定系列。// 可以使用数组指定多个系列。seriesIndex?: number | number[],seriesId?: string | string[],seriesName?: string | string[]// 数据项的 index,如果不指定也可以通过 name 属性根据名称指定数据项dataIndex?: number | number[],// 可选,数据项名称,在有 dataIndex 的时候忽略name?: string | string[],
});

简单示例实现代码如下:

创建一个有柱图和折线图的组件 lineChart.vue

<template><div><div ref="chart" style="height: 420px"></div><div style="display: flex; justify-content: space-around"><button @click="showPoints1">高亮显示1个点</button><button @click="showPoints2">高亮显示2个点</button><button @click="showPoints3">高亮显示1个柱子1个点</button><button @click="showPoints4">高亮显示2个柱子2个点</button></div></div>
</template>  <script>
export default {data() {return {chartInstance: null,currentHighLigh: {seriesIndex: [],dataIndex: []}};},mounted() {this.setChartOption();},methods: {setChartOption() {this.chartInstance = this.$echarts.init(this.$refs.chart);const option = {xAxis: {type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: "line",smooth: true,symbolSize: 20,itemStyle: {normal: {color: "#00FFF6",borderColor: "#00FFF6",borderWidth: 2,lineStyle: {color: "#00FFF6", // 折线颜色},},emphasis: {color: "red", // 鼠标悬浮时圆点颜色},},},{type: "bar",barWidth: 5,tooltip: {show: false,},label: {show: false,position: "top",color: "#fff",},itemStyle: {normal: {color: "#1cfffb",lineStyle: {width: 5,color: "#1cfffb", // 折线颜色},},emphasis: {color: "red", // 鼠标悬浮时圆点颜色},},data: [820, 932, 901, 934, 1290, 1330, 1320],},],};option && this.chartInstance.setOption(option);},highlightPoints(seriesIndex, dataIndexes) {this.chartInstance.dispatchAction({type: "highlight",seriesIndex: seriesIndex,dataIndex: dataIndexes,});},showPoints1() {// 如果有高亮,先取消高亮this.hiddenPoints();this.currentHighLigh = {seriesIndex: [0],dataIndex: [1]}// 假设我们要高亮第一个系列中的第一个和第三个点// this.highlightPoints(0, [0, 2]);// 假设我们要高亮第二个系列中的第二个和第四个点// this.highlightPoints(1, [1, 3]);// 假设我们要高亮第一个系列和第二个系列中的第一个和第三个点// this.highlightPoints([0, 1], [0, 2]);// 假设我们要高亮第一个系列中的第二个点this.highlightPoints(0, 1);},showPoints2() {// 如果有高亮,先取消高亮this.hiddenPoints();this.currentHighLigh = {seriesIndex: 0,dataIndex: [0, 2]}// 假设我们要高亮第一个系列中的第一个和第三个点this.highlightPoints(0, [0, 2]);},showPoints3() {// 如果有高亮,先取消高亮this.hiddenPoints();this.currentHighLigh = {seriesIndex: [0, 1],dataIndex: [2]}// 假设我们要高亮第二个系列中的第三个柱子this.highlightPoints([0, 1], 2);},showPoints4() {// 如果有高亮,先取消高亮this.hiddenPoints();this.currentHighLigh = {seriesIndex: [0, 1],dataIndex: [0, 2]}// 假设我们要高亮第一个系列和第二个系列中的第一个和第三个点this.highlightPoints([0, 1], [0, 2]);},// 取消高亮hiddenPoints() {// 如取消高亮系列:this.chartInstance.dispatchAction({type: 'downplay',// 可以使用数组指定多个系列。seriesIndex: this.currentHighLigh.seriesIndex,// 数据项的 index,如果不指定也可以通过 name 属性根据名称指定数据项dataIndex: this.currentHighLigh.dataIndex})}},
};
</script>  <style scoped>
/* 你的样式 */
</style>

欢迎收看!

这篇关于echarts 点击(柱图、折线图)图表外的按钮,高亮图表中的某些柱子何点位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069608

相关文章

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

C# 防止按钮botton重复“点击”的方法

在使用C#的按钮控件的时候,经常我们想如果出现了多次点击的时候只让其在执行的时候只响应一次。这个时候很多人可能会想到使用Enable=false, 但是实际情况是还是会被多次触发,因为C#采用的是消息队列机制,这个时候我们只需要在Enable = true 之前加一句 Application.DoEvents();就能达到防止重复点击的问题。 private void btnGenerateSh

Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测

关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定,珠宝首饰上架各大电商平台前必须进行RSLReport(欧盟禁限用化学物质检测报告)资质认证,以确保产品不含对人体有害的化学物质。 RSL-铅,

PNG透明背景按钮的实现(MFC)

问题描述: 当前要在对话框上添加一个以两个PNG图片作为背景的按钮,PNG图的背景是透明的,按钮也要做出相同的透明效果。并且鼠标不在按钮上时,按钮显示"bg1.png";鼠标移动到按钮上时,按钮显示"bg2.png" 开发环境为VS2010。 解决办法: 使用GDI+库装载PNG图片,并使用MFC Button Control和CMFCButton类结合,调用CMFCButton

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

HighCharts 折线图的实现

Java和HighCharts结合,实现折线图; 代码下载:Java和Highcharts实现折线图

【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」�

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

【Unity小技巧】URP管线遮挡高亮效果

前言 在URP渲染管线环境下实现物体遮挡高亮显示效果,效果如下: Unity URP遮挡高亮 实现步骤 创建层级,为需要显示高亮效果的物体添加层级,比如Player 创建一个材质球,也就是高亮效果显示的材质球找到Universal Renderer Data Assets 4.在Assets上添加两个Render Objects组件 第一个做如下三处设置 指定遮挡层级指