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 相关文章推荐
获取offsetTop和offsetLeft值的js代码(兼容)
Apr 16 Javascript
JQuery之focus函数使用介绍
Aug 20 Javascript
bootstrap改变按钮加载状态
Dec 01 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
jquery右下角自动弹出可关闭的广告层
May 08 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
node实现mock-plugin中间件的方法
Dec 25 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
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
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
javascript基本语法
2016/05/31 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
基于hashlib模块--加密(详解)
2017/06/21 Python
Python的语言类型(详解)
2017/06/24 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
python随机生成库faker库api实例详解
2019/11/28 Python
Python中无限循环需要什么条件
2020/05/27 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
人力资源职位说明书
2014/07/29 职场文书
民族精神月活动总结
2014/08/28 职场文书
外科护士长工作总结
2015/08/12 职场文书
导游词之大雁塔景区
2019/09/17 职场文书