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

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

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