最近把编辑器从Sublime换成HBuilder,感觉好用很多啊,可能自己插件没弄好吧。不不过HBuilder的启动速度确实慢,放机械盘启动要7-13秒,还好有固态。

因为项目需要,这周上手了百度的Echarts,不得不说是百度的良心产品,功能很强大,除了自己定义图表格式,还能通过调用百度地图API进行图表如热点图之类的展示,另外由于是国产的,文档也很齐全,顺着文档把里面的设置过了一遍,把基本情况搞清楚了。

本文的主要内容 通过AJAX调用本地JSON文件生成数据放入图表中,图表用的线图,先上外观

 

功能是通过单选按钮选择数据源,JS中通过选择的值控制Ajax的请求url,然后点击显示按钮生成图表并改变图表标题,现在说实现步骤:

一、HTML

  1.先把页面效果做出来,页面里需要的按钮,单选等,然后下方需要预定义一块DIV放图表,填充放在JS中实现。

  2.引入js,用到了jquery-3.1.1.js、echarts.js和自己写的data1.js,样式为了好看些用了bootsrtap。

  3.这里在单选按钮的value上存放了文件名,并将第一个radio设置了默认选中。

代码+源码

<!DOCTYPE html>
  <html>
    <head>
      <meta charset="UTF-8">
      <title>游龙翔隼-Echarts</title>
      <script type="text/javascript" src="js/jquery-3.1.1.js"></script>
      <script type="text/javascript" src="js/echarts.js"></script>
      <link rel="stylesheet" href="css/bootstrap.min.css" />
    </head>
    <body>
      <div class="form-control" style="width: 300px;height: 100px;margin: 5px auto;padding: 20px;">
        <input type="radio" class="box" checked="checked" name="switchChart" id="chk" value="sale.json" />
        <span for>2016年</span>
        <input type="radio" class="box" name="switchChart" id="chk1" value="sale1.json" />
        <span>2017年</span>
      <input id="showChart" class="btn-primary" type="button" value="显示"/>
      </div>
      <div id="main" style="width: 600px;height: 400px;margin: 10px auto;"></div>
      <script type="text/javascript" src="js/data1.js"></script>
    </body>
  </html>

二、JavaScript

代码+源码:

var myChart =echarts.init(document.getElementById("main"));//初始化chart
var btn1=$("#showChart");
var chk=$(".box");
var txt=$("span");
//图表封装在此
btn1.click(function(){
myChart.showLoading(); //加载效果
for(var mark=0;mark<chk.length;mark++){
if(chk[mark].checked){
//alert(chk[mark].value);
//var source=chk[mark].value;
var tle=txt[mark].innerText;
console.log(tle);
var source="json/"+chk[mark].value;
var names=[];
var ages=[];
$.ajax({
type:"get",
url:source,
async:true,
dataType:"json",
success:function(result){
console.log("请求成功:");
var tip = result.length;
for(var i=0;i<tip;i++){
names.push(result[i].name);
}
for(var i=0;i<tip;i++){
ages.push(result[i].age);
}
var option ={
// 标题
title:{
text:tle,
left:100,
borderColor:"#eee",
borderWidth:2,

},
// 工具箱
toolbox:{
show:true,
feature:{
saveAsImage:{
show:true,
},
dataView:{
show:true,
},
restore:{
show:true,
},
dataZoom:{
show:true,
},
magicType:{
show:true,
type:['line', 'bar', 'stack', 'tiled'],
}
},
},
// 触发器
tooltip:{
trigger:"item",
},
// 图例
legend:{
data:[tle+"1-8月出票量"],
},
// X轴
xAxis:{
data:names
},
// Y轴
yAxis:{},
// 数据
series:[{
name:tle+"1-8月出票量",
type:"line",
data: ages
}]

}
//将设置好的option置入myChart
myChart.setOption(option);
//模拟等待时间
setTimeout("myChart.hideLoading()",800);
},
error:function(){
console.log("failed");
myChart.hideLoading();
}
})
}
}
})

三、JSON

sale.json

sale1.json

思路:通过radio的值改变ajax的请求路径,将对应的span内容作为图表的标题。实际项目中可以改为在AJAX请求过程中传入radio的值,让后台判断所需的数据。

Echarts笔记——使用AJAX填充数据的更多相关文章

  1. jquery mobile开发笔记之Ajax提交数据(转)

    http://my.oschina.net/xiahuawuyu/blog/81763 这两天学习了下,jquery mobile(以下简称jqm)的开发相关的内容.可能之前有过web的开发基础,相对 ...

  2. ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化

    ECharts 下载js代码 工作原理浅析 在项目中引入ECharts 后台处理 数据库端MySQL PHP端 JQuery Ajax处理 ECharts 端处理 前端全部代码 演示结果 总结 最近要 ...

  3. ajax请求数据动态填充之文档与字符串区别手法

    success: function(data){ if(data.status==200){ var realName=data.doc.realName; $("#yishiul" ...

  4. 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)

    前言 我们先跟随百度百科了解一下什么是"数据可视化 [1]". 数据可视化,是关于数据视觉表现形式的科学技术研究. 其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来 ...

  5. 小笔记(一):ajax传递数组及将ajax返回数据赋值

    当使用ajax传递数据时,有可能传递多个数据,这是使用以下方法传递数据就会显得数据过多且混杂 $.ajax({ type:'post', url:url, data:{data:data,conten ...

  6. ExtJS学习笔记2:响应事件、使用AJAX载入数据

    响应事件: 1.设置一个html标记 <div id="my-div">Ext JS 4 Cookbook</div> 2.使用get函数获取此标记对象 v ...

  7. jQuery学习笔记之Ajax用法详解

    这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...

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

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

  9. .NET MVC 学习笔记(六)— 数据导入

    .NET MVC 学习笔记(六)—— 数据导入 在程序使用过程中,有时候需要新增大量数据,这样一条条数据去Add明显不是很友好,这时候最好就是有一个导入功能,导入所需要的数据,下面我们就一起来看一下导 ...

随机推荐

  1. C#之自定义特性

    在前面介绍的代码中有使用特性,这些特性都是Microsoft定义好的,作为.NET Framework类库的一部分,许多特性都得到了C#编译器的支持. .NET Frmework也允许定义自己的特性. ...

  2. 习惯的PHP命名规则

     从C++转PHP也已经很长一段时间了,一直有点代码洁癖,对于文件名,接口名,类名,方法名等都使用严格的驼峰命名法, 但是有时候会犹豫到底用首字母大写区分还是用下划线区分.今天简单总结和规约一下. 1 ...

  3. sublime Text3 新建文件时定义模块

    开发的过程中有很多的东西,不需要每次编写,如果每次编写这样会很蛋疼,所以sublime 提供了一个牛逼的插件SublimeTmpl, 这个插件可以定义自己新建的模块. sublimeTmpl 安装 1 ...

  4. 开涛spring3(12.2) - 零配置 之 12.2 注解实现Bean依赖注入

    12.2  注解实现Bean依赖注入 12.2.1  概述 注解实现Bean配置主要用来进行如依赖注入.生命周期回调方法定义等,不能消除XML文件中的Bean元数据定义,且基于XML配置中的依赖注入的 ...

  5. linux中搭建java开发环境

    JDK安装 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载对应jdk版本, ...

  6. 汽车Vin码识别技术的由来到发展

    核心内容:汽车Vin码.汽车车架号.Vin码识别.汽车Vin码识别.车架号识别.汽车车架号识别 一.汽车Vin码识别应用背景 随着二手车产业链发展越来越强大,在汽车买卖以及后市场应用中,了解车辆的相关 ...

  7. JS组件系列——自己动手扩展BootstrapTable的treegrid功能

    前言:上篇  JS组件系列——自己动手封装bootstrap-treegrid组件 博主自己动手封装了下treegrid的功能,但毕竟那个组件只是一个单独针对树形表格做的,适用性还比较有限.关注博主的 ...

  8. php中的数组遍历的几种方式

    [(重点)数组循环遍历的四种方式]   1.使用for循环遍历数组     conut($arr);用于统计数组元素的个数.     for循环只能用于遍历,纯索引数组!!!!     如果存在关联数 ...

  9. VR全景:电商巨头的角逐

    VR全景智慧城市:京东推"京东梦"挑战淘宝Buy+ ,VR购物谁主沉浮? VR全景智慧城市是国内首家商业全景平台,结合先进VR虚拟现实技术,以线下实体为依托,将空间还原到线上,用户 ...

  10. 小K的H5之旅-实战篇(一)

    一.前言 本K在经过两个星期的html和css学习之后,第一次去尝试完成一个网站主页的制作.在四天之后,本K也终于完成了杰瑞教育主页的html和css部分,至于部分涉及js的部分,因为本K还没有学习过 ...