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. Animator & Timeline

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Pla ...

  2. openstack golang sdk使用

    1. go get github.com/gophercloud/gophercloud import ( "github.com/gophercloud/gophercloud" ...

  3. Python3实现机器学习经典算法(二)KNN实现简单OCR

    一.前言 1.ocr概述 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然 ...

  4. Centos7下安装Oracle11g r2

    我的centos7是在virtualbox下安装的,安装Oracle安装了好久好久,最开始的时候在网上找的两个文章,按照步骤装,有一篇写着装的时候有灰色的竖线,直接按space键或者鼠标右键close ...

  5. java调试器

    javac.exe是编译.java文件 java.exe是执行编译好的.class文件 javadoc.exe是生成Java说明文档 jdb.exe是Java调试器 javaprof.exe是剖析工具 ...

  6. lintcode-488-快乐数

    488-快乐数 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...

  7. lintcode395-硬币排成线 II

    395-硬币排成线 II 有 n 个不同价值的硬币排成一条线.两个参赛者轮流从左边依次拿走 1 或 2 个硬币,直到没有硬币为止.计算两个人分别拿到的硬币总价值,价值高的人获胜. 请判定 第一个玩家 ...

  8. 使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索

    安装logstash.同步数据至ElasticSearch 为什么使用logstash来同步,CSDN上有一篇文章简要的分析了以下几种同步工具的优缺点:https://blog.csdn.net/la ...

  9. bash编程2

    bash基础编程 前言:条件测试语法有两种书写模式,一种时[expression] ,另外一种是[[exprssion]] ,为了在书写条件测试的过程中,不让大家将两种格式互相混淆,那么在这里只讲一种 ...

  10. MySQL 日志功能详解

    MySQL日志分类 1:查询日志 :query log     2:慢查询日志:slow_query_log 查询执行时长超过指定时长的查询操作所记录日志     3:错误日志:error log   ...