最近把编辑器从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. Java过滤敏感词语/词汇---DFA算法

    最近网站需要在评论.投稿等地方过滤敏感词汇,于是在网上查找了相关教程,特此整理分享. 关于DFA算法,详细的可以去http://blog.csdn.net/u013378306/article/det ...

  2. .net操作InI文件

    public class INI { public static string IniFileName = "";//路径 [DllImport("kernel32&qu ...

  3. js图片大小限制,设置

    //图片大小自动脚本 function AutoResizeImage(maxWidth, maxHeight, objImg) { var img = new Image(); img.src = ...

  4. java.util.Properties工具类

    import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import ...

  5. (数字IC)低功耗设计入门(二)——功耗的分析

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  6. cuda学习2-block与thread数量的选取

    由上一节可知,在main函数中,cuda程序的并行能力是在add<<<N,1>>>( dev_a, dev_b, dev_c )函数中体现的,这里面设置的是由N个b ...

  7. 移动端车牌识别——可以嵌入智能手机系统里的新OCR识别技术

    移动端车牌识别技术,是在OCR光学字符识别技术的基础上研发的用来识别汽车号牌特征信息的图像识别技术.在国内,该项技术由北京易泊时代携手清华大学成功地将"国家863计划"项目成果-- ...

  8. Ionic进行PC端Web开发时通过脚本压缩提高第一次加载效率

    1. 问题 1.1. 问题上下文描述: 基于Ionic进行PC端的Web应用开发: 使用Tomcat作为最终服务发布容器. 1.2. 问题描述: 编译后main.js的大小为4-6MByte.(集成第 ...

  9. javascript基础-语法

    代表此属性ECMAScript 5(一般IE9+)才支持. 图解:—— 图解: undefined,null,NaN Infinity ECMAScript 5禁止修改 每个函数都是Function的 ...

  10. jquery中html、text、val回调函数

    先扫盲: 摘自菜鸟教程:jQuery 方法:text().html() 以及 val()拥有回调函数. 回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值.然后以函数新值返回您希望使 ...