【echarts】创建带有标记线和点击事件的折线图

devtools/2024/12/24 2:19:43/

echarts.apache.org/examples/zh/editor.html?c=line-simple&code=PYBwLglsB2AEC8sDeBYAULWAPAgliAzgFzLqaZgCeIApiQOQDGAhmDQObABOl9ANGXIATVsxIBtAEwAGSQBZpARiV9YM-Utmr1C5QGZts3dLmGNygKxnjANmuaA7AF0BGWAF9XmSnkIlUbhTUdLD0AG7MADYArjT8gp6CBDRcEDTEsOKCmAHkwqISihbS2nolavLaigAcqop6VrCKcg7aNtIu2eRUtAyRENBxXnmwALbMXADWADIDIbkjmASUowBGwJEM0DBDsAD0e7CAsHKAfGaAXJ6A_X6AIW6A7rGA05qAMSqAy36A-uaAZN6A78pdeSJgYpnfEZIbC-DL0HSaRT0DyqA6wQAU6qEIcoobBALLygDt_QDcroA1rwugMwnUCI36gwAylRIvMCd1ggwCBsIEJ4sTFowNtwGFwaMzhotMAB3JlgAAWJEkfJGiVZMK60sJrncAG50Og4YA-6IxgD-1QAWEehRpQAMIiiZgAB0yTAAHlwFBoAAKUCQGAAShVaDVh0A37aAAqVAJ0OgG_FQDRcoA3uUAi26AGhV9UaTVxzTB7Ux-oxJvxYAAzaLQRjOuD2kATZijAgu0huOGAEiVALWmgHozQBkKoHAGFygHALQAN0RdABD_4yms0GgEh_wQQdOwfOF4tm9mjEA7aBgAAqwQQ8EQ9G7Mzm9FLC0w7OgDKpZsiwHYicDVzbF0An9qAFL0roBT00A-OY1ohpgtcIsl90jKIpMCj9_jr8zBmrg-Cfgk6DuG6QA" rel="nofollow">echars在线例子

在这里插入图片描述

option = {xAxis: {type: 'category',data: [20240101, 20240102, 20240103, 20240104, 20240105, 20240106, 20240107], // 日期数据},yAxis: {type: 'value', // 数值类型Y轴},series: [{data: [150, 230, 224, 218, 135, 147, 260], // 数据值type: 'line', // 折线图markLine: {symbol: 'none', // 不显示线的起始和结束符号data: [{ xAxis: '20240101' }, // 在2024年1月1日的位置添加标记线],lineStyle: {type: 'solid', // 实线color: 'red', // 红色width: 2, // 线宽度},},},],
};

在上面的代码中,为折线图添加了一个红色标记线,位置设置在 20240101 对应的日期处。通过 markLine 配置项,可以在指定的 X 轴位置添加竖直的标记线。

图表显示与交互

// 设置图表
myChart.setOption(option);// 添加点击事件监听
myChart.on('click', function (params) {// 判断是否点击了标记线(markLine)if (params.componentType === 'markLine') {console.log('点击的标记线对应的日期是:', params.data.xAxis); // 输出点击的日期alert(params.data.xAxis); // 弹窗显示日期}
});

为图表添加点击事件监听,能够识别用户点击了标记线的位置,并输出该日期。

在这里插入图片描述

  • 使用 myChart.setOption(option) 设置图表的配置。
  • 使用 myChart.on(‘click’, function (params) {…}) 监听用户的点击事件。当点击事件发生时,如果用户点击了标记线(params.componentType === ‘markLine’),则会弹出提示框显示该标记线对应的日期。

完整代码

import * as echarts from 'echarts';var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;option = {xAxis: {type: 'category',data: [20240101, 20240102, 20240103, 20240104, 20240105, 20240106, 20240107]},yAxis: {type: 'value'},series: [{data: [150, 230, 224, 218, 135, 147, 260],type: 'line',markLine: {symbol: 'none', // 不显示线的起始和结束符号data: [{ xAxis: '20240101' } // 在 '20240101' 位置画竖线],lineStyle: {type: 'solid',color: 'red',width: 2}}}]
};// 设置图表
myChart.setOption(option);// 添加点击事件监听
myChart.on('click', function (params) {// 判断是否点击了标记线(markLine)if (params.componentType === 'markLine') {console.log('点击的标记线对应的日期是:', params);alert(params.data.xAxis);}
});option && myChart.setOption(option);

http://www.ppmy.cn/devtools/144867.html

相关文章

【CSS in Depth 2 精译_085】14.2:CSS 蒙版的用法

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 14 章 蒙版、形状与剪切】 ✔️ 14.1 滤镜 14.1.1 滤镜的类型14.1.2 背景滤镜 14.2 蒙版 ✔️ 14.2.1 带渐变效果的蒙版特效 ✔️14.2.2 基于亮度来定义蒙版 ✔️14…

网络安全实验:利用Ettercap实现同一网段设备的数据流监听

网络安全实验:利用Ettercap实现同一网段设备的数据流监听 实验环境 攻击机:Kali Linux(或其他支持Ettercap的Linux发行版)靶机:Metasploitable2-Linux,IP地址为 192.168.1.32,运行DVWA&#x…

Flutter将应用打包发布到App Store

使用Flutter将应用打包发布到App Store的详细步骤及流程图: 流程图 #mermaid-svg-X09iOP2FtRxwKsWw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-X09iOP2FtRxwKsWw .error-icon{fill:#552222;}#mermai…

C语言经典100例

文章目录 前言123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525355565859606162636465 前言 以下题目大部分来自于C语言经典100例 1 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的…

【BUG记录】Apifox 参数传入 + 号变成空格的 BUG

文章目录 1. 问题描述2. 原因2.1 编码2.2 解码 3. 解决方法 1. 问题描述 之前写了一个接口,用 Apifox 请求,参数传入一个 86 的电话,结果到服务器 就变成空格了。 Java 接收请求的接口: 2. 原因 2.1 编码 进行 URL 请求的…

在THREEJS中加载3dtile模型

前言 3D Tiles 是一种用于高效传输和渲染大规模三维场景数据的开放规范。 它通过将复杂的三维场景分解成小块(tiles),并根据用户的视角动态加载和渲染这些小块,从而实现了对大规模三维数据的有效管理和显示。 3D Tiles 格式具有…

[Unity Shader]【游戏开发】【图形渲染】Shader数学基础7-矩阵变换概览及其几何意义

矩阵在计算机图形学中的重要作用在于描述和执行几何变换,例如旋转、缩放和平移。这篇文章将概述变换矩阵的核心概念,尤其是它们的几何意义和常见类型,同时对比它们的数学特性。 1. 矩阵的几何意义:变换 变换(Transform)是将一些数据(如点、方向矢量、颜色等)按照一定规…

CMake的INSTALL FILES和INSTALL DIRECTORY有什么区别

在 CMake 中,install() 命令用于安装构建的目标文件、头文件、库等到指定的目标路径。install(FILES ...) 和 install(DIRECTORY ...) 都是 install() 命令的具体用法,它们的功能和适用场景不同。 以下是两者的详细区别和用法说明: 1. insta…