vue3中使用echarts折线图初始化只显示一条数据,其余折线根据用户点击进行显示

news/2024/9/28 13:38:43 标签: echarts, vue.js, javascript

echarts_0">vue3中使用echarts折线图初始化只显示一条折线,其余折线根据用户点击进行显示

1、主要是在图例属性中去配置selected属性,将刚开始需要展示的折线设置为true,其余设置为false

selected: {
    "云存储": false,
    "云胶片": false,
    "检查检验共享互认": false,
    "云质控": false,
    "运营平台": false,
    "云PACS": false,
    "云诊断": false,
    "影像底座": false,
    "总调用数量": true,
},

2、关键代码片段

let chart = null
const reqAppApiUseSevenDay = () => {
	getAppApiUse7Day().then((res) => {
		const {
			data: { xAxis, series }
		} = res
		chartObj.xAxis = xAxis.map((item) => item.split('-').slice(1).join('-'))
		chartObj.series = series.map((item, index) => {
			if (item.name === '总调用数量') {
				return { ...item, type: 'line' }
			}
			return {
				...item,
				type: 'line',
				legendIndex: index
			}
		})
		chartObj.legend = series.map((item) => item.name)
		setTimeout(() => {
			chart = echarts.init(chartContainer.value)
			let option = {
				tooltip: {
					trigger: 'axis'
				},
				legend: {
					data: chartObj.legend,
					bottom: 20,
                    selected: {
                        "云存储": false,
                        "云胶片": false,
                        "检查检验共享互认": false,
                        "云质控": false,
                        "运营平台": false,
                        "云PACS": false,
                        "云诊断": false,
                        "影像底座": false,
                        "总调用数量": true,
                    },
				},
				grid: {
					top: '20px',
					left: '20px',
					right: '18px',
					containLabel: true
				},
				xAxis: {
					type: 'category',
					boundaryGap: false,
					data: chartObj.xAxis
				},
				yAxis: {
					type: 'value'
				},
				series: chartObj.series
			}
			option && chart.setOption(option)

			// 监听窗口大小变化,重新设置ECharts的尺寸
			window.addEventListener('resize', resizeHandler)
		}, 100)
	})
}

function resizeHandler() {
	chart && chart.resize()
}

http://www.niftyadmin.cn/n/5681196.html

相关文章

我店生活系统小程序开发功能解析

一、市场定位与目标用户 市场定位:我店生活小程序旨在打造一个集购物、娱乐、服务于一体的综合性本地生活服务平台,满足用户多样化的生活需求。通过整合周边生活服务资源,提供一站式的生活服务体验。 目标用户:主要面向中青年人…

WebSocket 在 Spring Boot 中的高级应用指南

WebSocket 在 Spring Boot 中的高级应用指南 深入理解WebSocket协议 深入理解STOMP协议 1. 概述 WebSocket 是一种基于 TCP 的全双工通信协议,允许服务器和客户端之间进行持续的双向通信。与传统的 HTTP 请求-响应模型不同,WebSocket 是一个持久的连接,可以在服务器和客户…

深信服2025届全球校招研发笔试-C卷(AK)

前面14个填空题 T1 已知 子数组 定义为原数组中的一个连续子序列。现给定一个正整数数组 arr,请计算该数组内所有可能的奇数长度子数组的数值之和。 输入描述 输入一个正整数数组arr 输出描述 所有可能的奇数长度子数组的和 示例 1 输入 1,4,2,5,3 输出 58 说明 …

Spark Job 对象 详解

在 Apache Spark 中,Job 对象是执行逻辑的核心组件之一,它代表了对一系列数据操作(如 transformations 和 actions)的提交。理解 Job 的本质和它在 Spark 中的运行机制,有助于深入理解 Spark 的任务调度、执行模型和容…

ESP32 Bluedroid 篇(1)—— ibeacon 广播

前言 前面我们已经了解了 ESP32 的 BLE 整体架构,现在我们开始实际学习一下Bluedroid 从机篇的广播和扫描。本文将会以 ble_ibeacon demo 为例子进行讲解,需要注意的一点是。ibeacon 分为两个部分,一个是作为广播者,一个是作为观…

深度学习自编码器 - 提供发现潜在原因的线索篇

序言 在探索复杂数据背后的秘密时,深度学习如同一把锐利的钥匙,特别是其核心的表示学习机制,为我们打开了一扇通往未知世界的大门。表示学习不仅仅是数据的简单编码或转换,它更是深度挖掘数据内在结构、关系与规律的过程。在这一…

web前端-CSS引入方式

一、内部样式表 内部样式表(内嵌样式表)是写到html页面内部,是将所有的 CSS 代码抽取出来,单独放到一个<styie>标签中。 注意: ① <style>标签理论上可以放在 HTML文档的任何地方&#xff0c;但一般会放在文档的<head>标签中 ② 通过此种方式&#xff0c;可…

【JavaEE初阶】深入理解wait和notify以及线程饿死的解决

前言&#xff1a; &#x1f308;上期博客&#xff1a;【JavaEE初阶】深入解析死锁的产生和避免以及内存不可见问题-CSDN博客 &#x1f525;感兴趣的小伙伴看一看小编主页&#xff1a;【JavaEE初阶】深入解析死锁的产生和避免以及内存不可见问题-CSDN博客 ⭐️小编会在后端开…