当前位置: 首页 > article >正文

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

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.kler.cn/a/448811.html

相关文章:

  • java全栈day19--Web后端实战(java操作数据库3)
  • Burp与其他安全工具联动及代理设置教程
  • linux----文件访问(c语言)
  • 多模态医学图像融合概述
  • springboot463学生信息管理系统论文(论文+源码)_kaic
  • 如何调大unity软件的字体
  • 如何使用 Python 执行 SQL 查询?
  • 基于Linux编写C语言基础命令
  • Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
  • 【Python】pandas库---数据分析
  • 【RAG实战】Prompting vs. RAG vs. Finetuning: 如何选择LLM应用选择最佳方案
  • 开源呼叫中心系统,柔性动态自适应IVR详解
  • DA-CLIP:Controlling Vision-Language Models for Universal Image Restoration
  • Centos7 部署ZLMediakit
  • 基于Java在线电影院购票选座系统的设计与实现(Springboot框架) 参考文献
  • C语言 单向链表反转问题
  • Screen(一)_简介与安装
  • 达梦官方工具 SQLark数据迁移(oracle->达梦数据库)
  • PHP MySQL 插入多条数据
  • electron-vite【实战】登录/注册页
  • 实践:从一次故障聊聊前端 UI 自动化测试
  • ROS2 python编写 intel realsense D405相机节点通过launch.py启动多个相机并发送图像话题,基于pyrealsense2库
  • 网络编程 03:端口的定义、分类,端口映射,通过 Java 实现了 IP 和端口的信息获取
  • jvm字节码中方法的结构
  • 在Excel中如果制作可以自动填充的序号,删除或者合并单元也可用
  • 游戏世界是什么