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


猜你喜欢
- 放大镜并不是一个难以实现的效果, 只是因为牵涉到一些精确的数值计算, 显得比较繁琐. 在未来的一段日子, 我会不定期地写关于 JavaScr
- 由于初学Django所以对于其特有的表单模板和models中的filefiled并不是特别熟悉。因此在本次开发中还是依照以往自己在html中
- 对文件进行重命名直接贴代码: import ossrcFile = './actwork/linkFile/allExtL
- 追本溯源,从使用开始首先看一下我们通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务,这里通过JWT的认证方式
- 1.python爬虫浏览器伪装#导入urllib.request模块import urllib.request#设置请求头headers=(
- 我就废话不多说啦!dpi=1 600×400dpi=21200×800dpi=31800×1200........dpi=21(21×600
- 本文介绍了浅谈vue-lazyload实现的详细过程,分享给大家,也给自己留个笔记首先 ,在命令行输入npm install vue-laz
- 我们之前一直都在使用的urlopen,这是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理、c
- 同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from y
- Promise手写Promise作为面试必考题,Promise的手写也是面试官必问的问题,所以对于Promise我们一定要了解透彻框架(fu
- 大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩ASP不精。只是将就用着。在遇到长文件 10000 字时网页就是一大片长了
- python的版本及依赖的库的安装#版本python 3.7.1pip install pywin32==224pip install nu
- JS中作用域的概念: 表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。Javascript的作用域只有两种
- python——pip install xxx报错SyntaxError: invalid syntax在安装好python后,进入pyth
- 前言OpenCV是图像处理常用的库,作为初学者,往往从图片的读取、保存、查询图片的信息开始,下面将分享Python下OpenCV的一些基本使
- 可迭代(iterable)迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。Python中有很多对象都是可以通过for语句来直接遍历的,例
- Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况
- 需求有多个文件地理数据库(gdb),数据库内有多个面要素类图层,每个图层不能有自重叠,也不能和其他图层重叠。所以,需要为每个文件地理数据库(
- 需求细化:1.身份证必须能够通过身份证校验程序。2.通过查询,发现身份证号码是有国家标准的,标准号为 GB 11643-1999 可以从百度
- 大家都知道搜索引擎比较喜欢H1。在SEO中H1也是很基础也很重要的一步。但有些时候为了界面风格的原因,很多标题性的文字做成了图片。大多数情况