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 动态添加样式规则 W3C校检
Dec 25 Javascript
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
jQuery验证插件validation使用指南
Apr 21 Javascript
JavaScript检测原始值、引用值、属性
Jun 20 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
基于jQuery实现Accordion手风琴自定义插件
Oct 13 Javascript
Javascript中数组去重与拍平的方法示例
Feb 03 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
vue vant中picker组件的使用
Nov 03 Javascript
Vue项目中使用mock.js的完整步骤
Jan 12 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批量生成缩略图的代码
2008/07/19 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
python计算一个序列的平均值的方法
2015/07/11 Python
pymongo中group by的操作方法教程
2019/03/22 Python
python装饰器常见使用方法分析
2019/06/26 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
python连接mysql有哪些方法
2020/06/24 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
中药专业毕业自荐书范文
2014/02/08 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
村官个人总结范文
2015/03/03 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
golang DNS服务器的简单实现操作
2021/04/30 Golang
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏
Go web入门Go pongo2模板引擎
2022/05/20 Golang
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs