Echarts实现单条折线可拖拽效果
作者:一包伤心的辣条 发布时间:2024-04-10 13:59:17
标签:Echarts,折线,拖拽
本文实例为大家分享了Echarts单条折线可拖拽的具体代码,供大家参考,具体内容如下
1、步骤:
1)、封装Echarts折线图方法coinConsumeChart(),提取出公共的部分;
2)、AJax获取后台数据传参至Echarts公共方法;
3)、模拟后台获取的json数据;
4)、给dayComment()方法值开始执行。
2、效果:
3、代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts单条折线可拖拽</title>
<script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
<!-- 引入 echarts.js -->
<script src="http://echarts.baidu.com/examples/vendors/echarts/echarts.min.js?_v_=1526486305040"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id='consume_line' style="width:600px;height:400px;margin-left:20px;"> </div>
</body>
</html>
<script type="text/javascript">
/**
* @todo 加载echarts方法
* @url:异步请求路径
* @chartId:请求的echart的id
* @titleText:标题名
* @detailHref:跳转路径
* @name:图例名
*/
function dayComment(url,chartId,titleText,detailHref, name) {
/*$.ajax({//Ajax请求你要展现的数据
url :url,
type : 'post',
cache : false,
dataType : 'json',
async:false, //改为同步
data : { }, //查看方式
success : function(data) {
detailHref = 'http://www.baidu.com';
coinConsumeChart( chartId, titleText, detailHref, name, data.date, data.pv, data.fromTime, data.toTime);
},
error : function() {
alert('服务器异常!')
}
});*/
//假设已经获取到json数据
var data = getStaticJsonData();
coinConsumeChart( chartId, titleText, detailHref, name, data.date, data.pv, data.fromTime, data.toTime);
}
/**
* @todo 可拖拽的折线图
* @param chartId 插件的div的ID
* @param titleText 标题名
* @param sublink 副标题超链接的路径
* @param name 图例名
* @param xAxisData X轴数据
* @param seriesData Y轴数据
* @param fromTime 默认开始节点
* @param toTime 默认结束节点
* */
function coinConsumeChart( chartId , titleText, detailUrl, name, xAxisData, seriesData , fromTime, toTime){
// 指定图表的配置项和数据
var myChart = echarts.init(document.getElementById( chartId ));
var option = {
title : {
text: titleText,
x:'center', //主标题居中
subtext:'详情',
sublink: detailUrl,//副标题超链接
subtarget:'blank',//副标题超链接打开方式
subtextStyle:{
color:'#2299EE',
fontSize: 15,
}
},
color: ['#3398DB'],
tooltip : {
trigger: 'axis'
},
legend: {
data:[name],
top:30,
left:55, //图示显示在左边
},
toolbox: {
show : true,
feature : {
//mark : {show: true},
//dataZoom : {show: true},
//magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
magicType : {show: true, type: ['line', 'bar']},
dataView : {show: true},
//restore : {show: true},
//saveAsImage : {show: true}
}
},
calculable : true,
dataZoom : {
show : true,
realtime : true,
// start : 20,
// end : 80 //百分比
startValue: fromTime, //拖拽条开始时间
endValue: toTime //拖拽条结束时间
},
xAxis : [
{
type : 'category',
boundaryGap : false,
data : xAxisData
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name: name,
type:'line',
data: seriesData,
},
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption( option );
}
//模拟AJax请求获取返回的json数据
function getStaticJsonData(){
var data = '{"date":["20180726","20180727","20180728","20180729","20180730","20180731","20180801","20180802","20180803","20180804","20180805","20180806","20180807","20180808","20180809","20180810","20180811","20180812","20180813","20180814"],"pv":[100,10,20,30,60,800,700,300,1000,100,100,360,900,180,120,150,600,140,1200,800],"fromTime":"20180808","toTime":"20180814"}';
data = eval('(' + data + ')');
return data;
}
dayComment( 'Ajax请求路径', 'consume_line', '用户消费','http://www.baidu.com', 'A消费'); //执行
</script>
来源:https://blog.csdn.net/qq_36025814/article/details/81708560
0
投稿
猜你喜欢
- 有了Selenium,还可以轻松操作Cookies,比如获取、添加、删除Cookies。具体代码如下:from selenium impor
- 1. SeriesSeries 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。1.1 下边生成一个最简单的Se
- 本文实例讲述了JavaScript实现的反序列化json字符串操作。分享给大家供大家参考,具体如下:JavaScript中如何反序列化jso
- 前几天,使用python时遇到这么一个需求,删除一个列表中值为1的元素。我寻思着使用remove方法,但是remove方法只会删除第一个,于
- Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:>>>
- 1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一
- 什么是deferdefer用来声明一个延迟函数,把这个函数放入到一个栈上, 当外部的包含方法return之前,返回参数到调用方法之前调用,也
- Python在3.4引入了 asyncio 库,3.6新增了关键字 async和await,此后,异步框架迅速发展了起来,性能上能和Node
- 我的世界小游戏使用方法:移动前进:W,后退:S,向左:A,向右:D,环顾四周:鼠标,跳起:空格键,切换飞行模式:Tab;选择建筑材料砖:1,
- 1.在vscode中搜索Autoprofixer2.在安装完成之后要配置在需要添加前缀的css文件上,右键点击命令面板,输入Autopref
- 开发目标:实现小红帽所挂脚本的自动生成下图为生成的最终目标本项目是从json中读取角色场景等信息,因此为了更好地判断所用属性是否需要,设置为
- 1、简介 table_cache是一个非常重要的MySQL性能参数,它在5.1.3之后的版本中叫做table_open_cache。tabl
- 学习vue和nodejs的过程当中,涉及到了axios,今天为了测试,写了get和post两个方法来跟node服务端交互,结果因为heade
- Click 是用 Python 写的一个第三方模块,用于快速创建命令行。我们知道,Python 内置了一个 Argparse 的标准库用于创
- 查询所有数据库的总大小方法如下:mysql> use information_schema;mysql> select conc
- 背包问题现在要往一个可以装4个单位重量的背包里怎么装价值最高:A重量1个单位,价值15;B重量3个单位,价值20;C重量4个重量,价值30使
- 引言今年互联网的就业环境真的好糟糕啊,好多朋友被优化。我们平常在工作中除了撸好代码,跑通项目之外,还要注意内外兼修。内功和招式都得练👌,才能
- FME如何使用Python?安装FME后,在FME的安装路径中,找到 fmeobjects 文件夹(C:\Program Files\FME
- 今天,在家试试django的model的设置,如何设置的联合主键,我经过查资料和实践,把结果记录如下:例如:class user(Model
- 前言最近在爬行 nosec.org 的数据,看了下需要模拟登录拿到cookie后才能访问想抓的数据,重要的是 nosec.org 的登录页面