echarts实现折线图的拖拽效果


Posted in Javascript onDecember 19, 2019

使用echarts实现折线图的拖拽,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <script src="./echarts.js"></script>
</head>
<body>
 <div id="main" style="width: 600px;height:400px;"></div>
 <script type="text/javascript">
 var symbolSize = 20;
 var data = [[15, 0], [-50, 10], [-56.5, 20], [-46.5, 30], [-22.1, 40]];
 var myChart = echarts.init(document.getElementById('main'));
 myChart.setOption({
 # 表示不使用默认的『显示』『隐藏』触发规则。
  tooltip: {
   triggerOn: 'none',
   formatter: function (params) {
    return 'X: ' + params.data[0].toFixed(2) + '<br>Y: ' + params.data[1].toFixed(2);
   }
  },
  xAxis: {
   min: -100,
   max: 80,
   type: 'value',
   axisLine: {onZero: false}
  },
  yAxis: {
   min: -30,
   max: 60,
   type: 'value',
   axisLine: {onZero: false}
  },
  series: [
   {
    id: 'a',
    type: 'line',
    smooth: true,
    symbolSize: symbolSize,
    data: data
   }
  ],
 });
 myChart.setOption({
 #拖拽功能:用 graphic 组件,在每个点上面,覆盖一个隐藏的可拖拽的圆点
  graphic: echarts.util.map(data, function (item, dataIndex) {
   return {
    type: 'circle',
    position: myChart.convertToPixel('grid', item),
    shape: {
     r: symbolSize / 2
    },
    invisible: true,
    draggable: true,
    ondrag: echarts.util.curry(onPointDragging, dataIndex),
    onmousemove: echarts.util.curry(showTooltip, dataIndex),
    onmouseout: echarts.util.curry(hideTooltip, dataIndex),
    z: 100
   };
  })
 });
 window.addEventListener('resize', function () {
  myChart.setOption({
   graphic: echarts.util.map(data, function (item, dataIndex) {
    return {
     position: myChart.convertToPixel('grid', item)
    };
   })
  });
 });
 function showTooltip(dataIndex) {
  myChart.dispatchAction({
   type: 'showTip',
   seriesIndex: 0,
   dataIndex: dataIndex
  });
 }
 function hideTooltip(dataIndex) {
  myChart.dispatchAction({
   type: 'hideTip'
  });
 }
 function onPointDragging(dataIndex, dx, dy) {
  data[dataIndex] = myChart.convertFromPixel('grid', this.position);
  myChart.setOption({
   series: [{
    id: 'a',
    data: data
   }]
  });
 }

</script>
</body>
</html>

echarts实现折线图的拖拽效果

echarts实现折线图的拖拽效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript多并发问题如何处理
Oct 28 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
js获取指定时间的前几秒
Apr 05 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
Jan 29 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
详解在Javascript中进行面向切面编程
Apr 28 Javascript
vue 根据选择条件显示指定参数的例子
Nov 09 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
Node.js API详解之 V8模块用法实例分析
Jun 05 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 #Javascript
Echarts实现单条折线可拖拽效果
Dec 19 #Javascript
Webpack设置环境变量的一些误区详解
Dec 19 #Javascript
Echarts实现多条折线可拖拽效果
Dec 19 #Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 #Javascript
利用JS如何获取form表单数据
Dec 19 #Javascript
在Vue项目中使用Typescript的实现
Dec 19 #Javascript
You might like
elgg 获取文件图标地址的方法
2010/03/20 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
四年级科学教学反思
2014/02/10 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
灵山大佛导游词
2015/02/04 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang