ECharts 多个折线图动态获取json数据

效果图如下:

一.html部分

<p id="TwoLineChart" style="width:100%; height:400px;"></p>

二.js部分

<script type="text/JavaScript">

function loadTwoLine() {
var myChart = echarts.init(document.getElementById('TwoLineChart'));
// 显示标题,图例和空的坐标轴
myChart.setOption({
title: {
text: '异步数据加载示例'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['进件', '办结']
},
toolbox: {
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
magicType: { show: true, type: ['line', 'bar'] },
restore: { show: true },
saveAsImage: { show: true }
}
},
calculable: true,
xAxis: {
type: 'category',
boundaryGap: false, //取消左侧的间距
data: []
},
yAxis: {
type: 'value',
splitLine: { show: false },//去除网格线
name: ''
},
series: [{
name: '进件',
type: 'line',
symbol: 'emptydiamond', //设置折线图中表示每个坐标点的符号 emptycircle:空心圆;emptyrect:空心矩形;circle:实心圆;emptydiamond:菱形
data: []
},
{
name: '办结',
type: 'line',
symbol: 'emptydiamond', //设置折线图中表示每个坐标点的符号 emptycircle:空心圆;emptyrect:空心矩形;circle:实心圆;emptydiamond:菱形
data: []
}]
});
myChart.showLoading(); //数据加载完之前先显示一段简单的loading动画
var names = []; //类别数组(实际用来盛放X轴坐标值)
var series1 = [];
var series2 = [];
$.ajax({
type: 'get',
url: 'json/echarts/line/lineTwo.txt',//请求数据的地址
dataType: "json", //返回数据形式为json
success: function (result) {
//请求成功时执行该函数内容,result即为服务器返回的json对象
$.each(result.jinJian, function (index, item) {
names.push(item.AREA); //挨个取出类别并填入类别数组
series1.push(item.LANDNUM);
});
$.each(result.banJie, function (index, item) {
series2.push(item.LANDNUM);
});
myChart.hideLoading(); //隐藏加载动画
myChart.setOption({ //加载数据图表
xAxis: {
data: names
},
series: [{
data: series1
},
{
data: series2
}]
});
},
error: function (errorMsg) {
//请求失败时执行该函数
alert("图表请求数据失败!");
myChart.hideLoading();
}
});
};
loadTwoLine();
</script>

三.json格式如下:

{
"jinJian":[
{
"AREA":"选址阶段",
"LANDNUM":190
},
{
"AREA":"用地阶段",
"LANDNUM":200
},
{
"AREA":"设计方案",
"LANDNUM":310
},
{
"AREA":"工程规划",
"LANDNUM":290
},
{
"AREA":"施工许可",
"LANDNUM":260
},
{
"AREA":"销售许可",
"LANDNUM":300
},
{
"AREA":"规划验收",
"LANDNUM":320
},
{
"AREA":"综合验收",
"LANDNUM":290
},
{
"AREA":"档案验收",
"LANDNUM":280
}
],
"banJie":[
{
"AREA":"选址阶段",
"LANDNUM":100
},
{
"AREA":"用地阶段",
"LANDNUM":120
},
{
"AREA":"设计方案",
"LANDNUM":140
},
{
"AREA":"工程规划",
"LANDNUM":160
},
{
"AREA":"施工许可",
"LANDNUM":180
},
{
"AREA":"销售许可",
"LANDNUM":200
},
{
"AREA":"规划验收",
"LANDNUM":220
},
{
"AREA":"综合验收",
"LANDNUM":240
},
{
"AREA":"档案验收",
"LANDNUM":250
}
] }

ECharts动态获取后台传过来的json数据进行多个折线图的显示,折线的数据由后台传过来的更多相关文章

  1. Django+Xadmin+Echarts动态获取数据legend颜色显示灰色问题已解决

    前段时间做的使用Django的Xadmin后台和百度Echarts进行后台数据可视化,功能虽然实现,展示出来的legend图例,都是灰色的,只有鼠标放上去才会显示彩色的.百度都快被我刨穿了,看到有类似 ...

  2. ECharts折线图多个折线每次只显示一条

    echart 两条折线图如何默认只显示一条,另一条隐藏呢 只需要在legend后加上, selectedMode: 'single', selectedMode [ default: true ] 图 ...

  3. Android自定义控件:图形报表的实现(折线图、曲线图、动态曲线图)(View与SurfaceView分别实现图表控件)

    图形报表很常用,因为展示数据比较直观,常见的形式有很多,如:折线图.柱形图.饼图.雷达图.股票图.还有一些3D效果的图表等. Android中也有不少第三方图表库,但是很难兼容各种各样的需求. 如果第 ...

  4. ECharts 从后台动态获取数据 (asp.net)

    (一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...

  5. echarts 柱状图和饼状图动态获取后台数据

    运用echarts来实现图表 1.首先下载echarts包  http://echarts.baidu.com/echarts2/doc/example.html,在这里我下载的是 2.将echart ...

  6. ECharts 环形饼图 动态获取json数据

    ECharts  环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...

  7. 动态获取爱奇艺上传视频mp4格式url地址

    有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的.那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方 ...

  8. Echart实现多个y轴,坐标轴的个数及名称由后台传过来的json数据决定。

    yAxis: function(){ var yAxis=[]; for(var i=0;i<legend1.length;i++){ var item={ name:legend1[i], t ...

  9. c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值

    using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.T ...

随机推荐

  1. Linux Install redis

    1.将下载好的压缩包放到/usr/local目录下# tar xzf redis-3.0.2.tar.gz # cd redis-3.0.2 # make//--------------------- ...

  2. ORACLE表空间操作实例

    本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...

  3. [PHP]自定义session存储机制的两种方案

    ---------------------------------------------------------------------------------------------------- ...

  4. 16进制转ascii,转字符串

    /** * 16进制转化为字母 * @param hex 要转化的16进制数,用逗号隔开 * 如:53,68,61,64,6f,77 * @return */ public static String ...

  5. python递归、collections系列以及文件操作进阶

    global log 127.0.0.1 local2 daemon maxconn log 127.0.0.1 local2 info defaults log global mode http t ...

  6. vc读取当前路径和读取配置ini文件

    //获取路径 std::string GetApplicationDir() { HMODULE hModule = GetModuleHandleW(NULL); WCHAR wpath[MAX_P ...

  7. 用工厂模式和策略模式优化过多的if-else

    多个if-else代码: @RunWith(SpringRunner.class) @SpringBootTest public class EducationalBackgroundTest { p ...

  8. shell脚本中比较两个小数的办法

    具体情况#man bc 然而对小数进行比较的相关方法有几个: 1. 自己的解决方法,判断小数点后最多有几位数(N),然后对将要比较的两个数值进行 乘与10的N次方 也就是将小数点去掉来进行比较(小数点 ...

  9. day27 异常处理 和 网络协议

    元类补充 class MyMeta(type): # 用于新建类对象 def __new__(cls,*args,**kwargs) print(MyMeta) print(*args) # 调用ty ...

  10. PHP实现curl和snoopy类模拟登陆方法

    Snoopy.class.php下载 方法/步骤   第一种:使用snoopy类实现模拟登陆 1.在网上下载一个Snoopy.class.php的文件   2.代码实现: <?php set_t ...