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

打印 上一主题 下一主题

主题 827|帖子 827|积分 2481

echars在线例子


  1. option = {
  2.   xAxis: {
  3.     type: 'category',
  4.     data: [20240101, 20240102, 20240103, 20240104, 20240105, 20240106, 20240107], // 日期数据
  5.   },
  6.   yAxis: {
  7.     type: 'value', // 数值类型Y轴
  8.   },
  9.   series: [
  10.     {
  11.       data: [150, 230, 224, 218, 135, 147, 260], // 数据值
  12.       type: 'line', // 折线图
  13.       markLine: {
  14.         symbol: 'none', // 不显示线的起始和结束符号
  15.         data: [
  16.           { xAxis: '20240101' }, // 在2024年1月1日的位置添加标记线
  17.         ],
  18.         lineStyle: {
  19.           type: 'solid', // 实线
  20.           color: 'red', // 红色
  21.           width: 2, // 线宽度
  22.         },
  23.       },
  24.     },
  25.   ],
  26. };
复制代码
在上面的代码中,为折线图添加了一个赤色标记线,位置设置在 20240101 对应的日期处。通过 markLine 配置项,可以在指定的 X 轴位置添加竖直的标记线。
图表显示与交互

  1. // 设置图表
  2. myChart.setOption(option);
  3. // 添加点击事件监听
  4. myChart.on('click', function (params) {
  5.   // 判断是否点击了标记线(markLine)
  6.   if (params.componentType === 'markLine') {
  7.     console.log('点击的标记线对应的日期是:', params.data.xAxis); // 输出点击的日期
  8.     alert(params.data.xAxis); // 弹窗显示日期
  9.   }
  10. });
复制代码
为图表添加点击事件监听,可以或许识别用户点击了标记线的位置,并输出该日期。



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

  1. import * as echarts from 'echarts';
  2. var chartDom = document.getElementById('main');
  3. var myChart = echarts.init(chartDom);
  4. var option;
  5. option = {
  6.   xAxis: {
  7.     type: 'category',
  8.     data: [20240101, 20240102, 20240103, 20240104, 20240105, 20240106, 20240107]
  9.   },
  10.   yAxis: {
  11.     type: 'value'
  12.   },
  13.   series: [
  14.     {
  15.       data: [150, 230, 224, 218, 135, 147, 260],
  16.       type: 'line',
  17.       markLine: {
  18.         symbol: 'none', // 不显示线的起始和结束符号
  19.         data: [
  20.           { xAxis: '20240101' } // 在 '20240101' 位置画竖线
  21.         ],
  22.         lineStyle: {
  23.           type: 'solid',
  24.           color: 'red',
  25.           width: 2
  26.         }
  27.       }
  28.     }
  29.   ]
  30. };
  31. // 设置图表
  32. myChart.setOption(option);
  33. // 添加点击事件监听
  34. myChart.on('click', function (params) {
  35.   // 判断是否点击了标记线(markLine)
  36.   if (params.componentType === 'markLine') {
  37.     console.log('点击的标记线对应的日期是:', params);
  38.     alert(params.data.xAxis);
  39.   }
  40. });
  41. option && myChart.setOption(option);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

石小疯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表