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. git remote add origin错误

    如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...

  2. flex布局与ellipsis冲突问题

    在flex布局里使用text-overflow: ellipsis;发现没有省略. 解决方案 .g-flex-c{ flex: 1; min-width: 0; }

  3. 测试类异常Manual close is not allowed over a Spring managed SqlSession

    在用Spring 和mybatis整合的 写测试类的时候报出解决办法:在全局配置文件   class="org.mybatis.spring.SqlSessionTemplate" ...

  4. Linux内核学习笔记(7)--完全公平调度(CFS)

    一.完全公平调度算法 完全公平调度 CFS 的出发点基于一个简单的理念:进程调度的效果应该如同系统具备一个理想中的完美多任务处理器.在这种系统中,每个进程能够获得 1/n 的处理器时间(n 为可运行进 ...

  5. Matlab中 .' 的作用。

    Syntax B = A.' B = transpose(A)   Description B = A.' returns the nonconjugate transpose of A, that ...

  6. 微软职位内部推荐-SW Engineer II for Windows System

    微软近期Open的职位: Microsoft's Operating Systems Group delivers the operating system and core user experie ...

  7. php 中关于pdo的使用

    之前一段时间,开始了php的研究,看了关于PDO的一些资料,发现不错,整理和总结一下,作为开发笔记,留待日后使用,<PHP开发笔记系列(一)-PDO使用>. PDO是PHP Data Ob ...

  8. Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 03

    此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 Scrum master:范洪达 一.小组介绍 组长:王一可 组员 ...

  9. Python:生成器的简单理解

    一.什么是生成器 在Python中,由于受到内存的限制,列表容量肯定是有限的.例如我们创建一个包含一亿个元素的列表,Python首先会在内存中开辟足够的空间来存储这个包含一亿个元素的列表,然后才允许用 ...

  10. BETA版本前冲刺准备

    [团队概要] 团队项目名:小葵日记 团队名:日不落战队 队员及角色: 队员 角色 备注 安琪 前端工程师 队长 佳莹 前端工程师 智慧 后端工程师 章鹏 后端工程师 语恳 UI设计师 炜坤 前端工程师 ...