前段时间公司让弄图表,给我说有HighCharts这个js插件,于是上网上搜,由于本人是写后端的,对于JavaScript和jQuery不是很熟悉,虽然找到了模板,但是还是不明白,所以一点一点的改,但好的结果是最后还是搞出来,所以写个随笔,记录和总结下

  var id =${id};
$.ajax({
url: '${base}/act/manage/ggdr/getChartsData',
type: 'POST',
dataType: 'json',
data:{'id':id},
success:function(data){
console.log(data[1].create_time);
var xData = [];//组装图表行的数据(x轴)
var yData = [];//组装图表每列的数据(y轴)
var addData =[];//因为我的图表是柱状图和折线图组合的图表,所以需要组装折线图的列数据
var sum =0;
for(var i=0;i<data.length;i++){
var temp = new Date(data[i].create_time);
var formateDte = temp.getFullYear()+'-'+(temp.getMonth()+1)+'-'+temp.getDate();
xData.push(formateDte);
yData.push(data[i].num);
sum +=data[i].num;
addData.push(sum);
}

上面这段是我从后台取数据的的代码,大家可以不用在意

var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'chart_combo' //关联页面元素div#id //这里是定义图表放在哪,红色的字就是div的id
},
title: { //图表标题
text: '果果达人参与用户趋势图'
},
xAxis: { //x轴
categories: xData, //X轴类别
labels:{y:18} //x轴标签位置:距X轴下方18像素
},
yAxis: { //y轴
title: {text: '参与人数(人)'}, //y轴标题
lineWidth: 1 //基线宽度
},
tooltip: {
formatter: function() { //格式化鼠标滑向图表数据点时显示的提示框
var s;
if (this.point.name) { // 饼状图
s = '<b>' + this.point.name + '</b>: <br>' + this.y+ '人(' +
twoDecimal(this.percentage) + '%)';
} else {
s = '' + this.x + ': ' + this.y + '人';
}
return s;
}
}, exporting: {
enabled: false //设置导出按钮不可用
},
plotOptions:{
series:{
pointWidth:30
}
},
series: [{ //数据列
type: 'column',
name: '每日参加人数',
data: yData //这里需要一个数组,我们在上面已经组装好的列数据可以直接赋值在这
},
{
type: 'spline',
name: '目前总参加人数',
data: addData //这里也一样,这是折线图的数据
}]
});
}
})

HighChart 实现从后台取数据来实时更新柱状和折线组图的更多相关文章

  1. 使用 JavaScript 将网站后台的数据变化实时更新到前端

    问:难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Sock ...

  2. 使用 JavaScript 将网站后台的数据变化实时更新到前端-【知乎总结】

    问: 难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Soc ...

  3. 怎么使用 JavaScript 将网站后台的数据变化实时更新到前端

    实时这个工作现在大体有两种方法一.前端不断地向后台轮询请求数据查询的接口(不管你是用AJAX还是什么)然后将返回的数据重绘在页面上,这以前端页面为主动的方式.二.如果浏览器支持Websocket 那么 ...

  4. 用 JavaScript 将网站后台的数据变化实时更新到前端

    1.ajax短连接:客户端每隔一秒钟发一次请求,服务器收到请求后会立刻返回结果,不管有没有新数据.2.ajax长连接:客户端发送一次请求,服务器端收到请求后查询有没有新数据,如果没有新数据就阻塞这个请 ...

  5. 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

    代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到 ...

  6. Extjs Google的Suggest的自动提示 从后台取数据

    //服务器取数据 var remoteStore = Ext.create('Ext.data.Store', { proxy: ({ type: "ajax", url:&quo ...

  7. $.ajax从后台取数据 然后做字符串拼接的例子

  8. CustomJSProperties珍藏版。目的是减少客户端的代码数量,但是又能将服务器数据传输给客户端。关键是:数据是实时更新的!!!!

    [这是帮助文档的说明] CustomJSProperties EventThe CustomJSProperties event fires each time a control callback ...

  9. angular2 获取到的数据无法实时更新的问题

    在修改完组件数据之后调用下面两句: this.changeDetectorRef.markForCheck(); this.changeDetectorRef.detectChanges(); 注入到 ...

随机推荐

  1. Python ->> 第一个Python程序

    #coding:utf-8 #print 'input your name, please' #name = raw_input('请输入你的名字:'.decode('utf-8').encode(' ...

  2. git源码推荐

    http://git.oschina.net/explore/monthly http://git.oschina.net/juapk/spring-wind http://git.oschina.n ...

  3. javascript中对象的属性的特性

    1.ES5的属性特性包括下面六个: configurable: 表示能否通过delete来删除属性从而重新定义属性,能够修改属性的特性,默认为true enumberable: 表示是否能通过for- ...

  4. CrazePony飞行器--相关资料网址

    Crazepony官网:http://crazepony.github.com/ Crazepony百科:http://crazepony.github.com/wiki.html Crazepony ...

  5. openwrt(路由器)的源码地址

    https://dev.openwrt.org/wiki/GetSource 路由器的源码地址

  6. Js判断一个单词是否有重复字母

    今天上午刷到一道题,大体是写一个方法判断一个单词中是否有重复的字母(或者说一个字符串中是否有重复的字符).我的思路是一个字符一个字符地遍历,如果发现有重复的停止: function isIsogram ...

  7. opencore

    OpenCore是Android的多媒体核心,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式. OpenCore是一个多媒体 ...

  8. R语言常用基础知识

    seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),     length.out = NULL, along.with = NULL, ...

  9. poj 动态规划题目列表及总结

    此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...

  10. C#判断字符串为空的几种方法和效率判断

    C#判断字符串为空的几种方法和效率判断 string定义 1.1 string str1="":会定义指针(栈),并在内存里划一块值为空的存储空间(堆),指针指向这个空间.1.2 ...