echars画折线图的一种数据处理方式

<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>echars画折线图的一种数据处理方式</title>
</head>
<script src="js/jquery.js"></script>
<script src="js/echarts.js"></script> <body>
<!--默认状态下 x轴显示间隔是跟 div的宽度 width 有关自动调整的-->
<div id="main" style="width: 600px;height:400px;"></div>
</body>
<script type="text/javascript">
/**
* 这种处理数据方式的好处是:后台只需要把(每条记录)每个对象需要展示的属性封装成一个list数组即可
* 而不用遍历数据对象集合进行复杂的拼接
*/
$(function() {
/* 月份 全国 城市 农村*/
var seriesData = [
["2018年01月",1,2,3],
["2018年02月",2,2,3],
["2018年03月",5,2,3],
["2018年04月",9,2,3],
["2018年05月",4,2,3],
["2018年06月",3,2,3],
]; var title = "中国居民消费价格指数";
// console.log("k+1= "+(Number(k)+1));
var legend = ['全国','城市','农村'];
//后台拼接好charData对象(只需要把每条记录的时间和要展示成图表的属性一起拼接成 List,
//再把他们放入一个大List再和legend、title一起封装成charData对象传到前台即可)
var charData = {
"title":title,
"legend":legend,
"seriesData":seriesData
}; drawChart(charData);
}); //画折线图
function drawChart(charData) {
var title = charData.title;
var legend = charData.legend;
var xA = charData.seriesData.map(function (item) {return item[0];}); console.log("xA= "+xA);//xA= 2018年01月,2018年02月,2018年03月,2018年04月,2018年05月,2018年06月 var ss = [];
//决定画出几条折线
for(var i=0;i<legend.length;i++){
var s = {
name: legend[i],
type: 'line',
data: charData.seriesData.map(function (item) {
return item[i+1];//从seriesData中数组元素的第二个元素角标1的开始拼接数据
}),
};
ss.push(s);
}
console.log("ss= "+JSON.stringify(ss));
/* ss= [ {"name":"全国","type":"line","data":[1,2,5,9,4,3]},
{"name":"城市","type":"line","data":[2,2,2,2,2,2]},
{"name":"农村","type":"line","data":[3,3,3,3,3,3]}]
*/
var myChart = echarts.init(document.getElementById('main'));
var option = { title: {
text: title
},
tooltip: {
trigger: 'axis'
},
legend: {
y: 'bottom' ,//图例显示在图表底部
data: legend/*['全国','城市','农村']*/
}, xAxis:{
data: xA/*data.map(function (item) {
return item[0];
})*/
},
yAxis: {
type:'value'
}, series: ss
/*[
{
name: '全国',
type: 'line',
data: data.map(function (item) {
return item[1];
}),
},
{
name: '城市',
type: 'line',
data: data.map(function (item) {
return item[2];
}),
},
{
name: '农村',
type: 'line',
data: data.map(function (item) {
return item[3];
}),
}, ]*/
};
myChart.setOption(option);
}
</script> </html>

echars画折线图的一种数据处理方式的更多相关文章

  1. SAS 画折线图PROC GPLOT

    虽然最后做成PPT里的图表会被要求用EXCEL画,但当我们只是在分析的过程中,想看看数据的走势,直接在SAS里画会比EXCEL画便捷的多. 修改起来也会更加的简单,,不用不断的修改程序然后刷新EXCE ...

  2. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  3. Matplotlib学习---用matplotlib画折线图(line chart)

    这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...

  4. 使用OpenCV画折线图

    使用OpenCV画直方图是一件轻松的事情,画折线图就没有那么Easy了,还是使用一个库吧: GraphUtils 源代码添加入工程 原文链接:http://www.360doc.com/content ...

  5. IOS绘制渐变背景色折线图的一种尝试

    1.绘制折线图 上次在群里看到一个折线图划的很漂亮,自己想实现一个这样的 ,但是一直没什么头绪,不知道怎么做,就开始在网上查找划线,绘 制渐变色这一块的内容,用最笨的方式,自己尝试的写了一些,也没 有 ...

  6. gnuplot画折线图

    之前尝试用jfreechart画自定义横坐标的折线图或时序图,发现很复杂,后来改用gnuplot了. gnuplot在网上一搜就能找到下载地址. 安装完成后,主要是命令行形式的交互界面,至少比jfre ...

  7. python的turtle模块画折线图

    代码如下: import turtle yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6] def main(): t = turtle.Turtle() t.hidet ...

  8. echarts入门基础,画折线图

    注意:一定要自己引入echarts库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  9. python用matplotlib画折线图

    折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...

随机推荐

  1. 面向对象编程(OOP)思想小结

    Concepts 类(class):对我们要解决问题的抽象,比如建造房子的蓝图:但实现机制上来讲,类是根据蓝图构建而成的,存储在内存中的,用来表示对象的数据. 对象(object):根据类构建的实体, ...

  2. Deeplearning - Overview of Convolution Neural Network

    Finally pass all the Deeplearning.ai courses in March! I highly recommend it! If you already know th ...

  3. python错误记录

    在主函数里调用其他函数时形参顺序要一致 错例如下:

  4. 子元素设置margin-top后,父元素跟随下移的问题

    子元素设置margin-top后,父元素跟随下移的问题 <!DOCTYPE html> <html lang="en"> <head> < ...

  5. listagg wm_concat 行转列

    一. 这个写法和wm_concat相似,listagg(day,',')要把哪一列转换为同一行within group (order by day)同一行如何排序 with temp as ( ' d ...

  6. c# dictionnary根据value查找对应的key

    属性方法中并没有包含此功能,因此需要自己自定义一个方法: string regionName = ""; if (ControlForm.swichLanguage.Contain ...

  7. CS小分队第一阶段冲刺站立会议(5月11日)

    昨日成果:完成了倒计时器的制作,为其添加了声音:并对扫雷游戏的失败添加了动态效果: 遇到的困难:把图片放入picturebox中无法改变图片的大小,音乐格式只能使用.wav,该格式音乐比较大,增加了整 ...

  8. Transparent Flow Migration for NFV

    Transparent Flow Migration for NFV 摘要 因为SDN提供的灵活性,NF之间存在着流量的迁入和迁出问题.而且NF也要根据相关的状态信息处理数据包,所以流量迁移必须满足以 ...

  9. 博弈--ZOJ 3084 S-Nim(SG)

    题意: 首先输入K 表示一个集合的大小  之后输入集合 表示对于这对石子只能去这个集合中的元素的个数 之后输入 一个m 表示接下来对于这个集合要进行m次询问  之后m行 每行输入一个n 表示有n个堆  ...

  10. Windows Forms编程实战学习:第二章 欢迎使用Visual Studio

    第二章 欢迎使用Visual Studio 1,AssemblyInfo文件 包含程序集的属性,向应用程序添加元数据 [assembly:<attribute>(<setting&g ...