HighChart 实现从后台取数据来实时更新柱状和折线组图
前段时间公司让弄图表,给我说有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 实现从后台取数据来实时更新柱状和折线组图的更多相关文章
- 使用 JavaScript 将网站后台的数据变化实时更新到前端
问:难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Sock ...
- 使用 JavaScript 将网站后台的数据变化实时更新到前端-【知乎总结】
问: 难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Soc ...
- 怎么使用 JavaScript 将网站后台的数据变化实时更新到前端
实时这个工作现在大体有两种方法一.前端不断地向后台轮询请求数据查询的接口(不管你是用AJAX还是什么)然后将返回的数据重绘在页面上,这以前端页面为主动的方式.二.如果浏览器支持Websocket 那么 ...
- 用 JavaScript 将网站后台的数据变化实时更新到前端
1.ajax短连接:客户端每隔一秒钟发一次请求,服务器收到请求后会立刻返回结果,不管有没有新数据.2.ajax长连接:客户端发送一次请求,服务器端收到请求后查询有没有新数据,如果没有新数据就阻塞这个请 ...
- 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)
代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到 ...
- Extjs Google的Suggest的自动提示 从后台取数据
//服务器取数据 var remoteStore = Ext.create('Ext.data.Store', { proxy: ({ type: "ajax", url:&quo ...
- $.ajax从后台取数据 然后做字符串拼接的例子
- CustomJSProperties珍藏版。目的是减少客户端的代码数量,但是又能将服务器数据传输给客户端。关键是:数据是实时更新的!!!!
[这是帮助文档的说明] CustomJSProperties EventThe CustomJSProperties event fires each time a control callback ...
- angular2 获取到的数据无法实时更新的问题
在修改完组件数据之后调用下面两句: this.changeDetectorRef.markForCheck(); this.changeDetectorRef.detectChanges(); 注入到 ...
随机推荐
- opencv 人脸识别 (一)训练样本的处理
本文实现基于eigenface的人脸检测与识别.给定一个图像数据库,进行以下步骤: 进行人脸检测,将检测出的人脸存入数据库2 对数据库2进行人脸建模 在测试集上进行recognition 本篇实现 ...
- WebStorm 对 Mocha 完美支持。
如果你在使用 Mocha 的话,请使用 WebStorm 来运行 mocha,Webstorm可以清晰查看每个 test 的详细信息,非常直观,强烈推荐.
- Sass&Compass学习笔记(一)
1.sass中可以使用变量 变量名以$符号开头,可包含所有可用作CSS类名的字符,包括下划线和中划线. 可见,中划线也是可以作为命名的字符,这是与很多其他语言的不同之处.变量的使用实例: $compa ...
- 《Linux内核设计与实现》读书笔记(十二)- 内存管理【转】
转自:http://www.cnblogs.com/wang_yb/archive/2013/05/23/3095907.html 内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己 ...
- PowerDesigner导出表到word
一.模版修改 在导出表时,powerdesigner默认为我们提供了很多的模版,在工具栏中选择[Report--->Report Template]//// [被翻译成报告(Report)--- ...
- hdu - 1242 Rescue && hdu - 2425 Hiking Trip (优先队列+bfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1242 感觉题目没有表述清楚,angel的朋友应该不一定只有一个,那么正解就是a去搜索r,再用普通的bfs就能过了 ...
- hibernate自动生成映射文件
映射文件是O/R Mapping的关键,相当于控制中心.当数据库表较多时,手动配置该映射文件非常耗时.为了快速开发程序,使开发人员的注意力集中到业务逻辑上来,Hibernate官方提供的MiddleG ...
- plsql programming 18 包
所谓包, 就是把一组PL/SQL 的代码元素组织在一个命名空间下. 另外, 包的用法就类似java中的类.( 有封装, 有重载, 没有继承和多肽) create or replace procedur ...
- linux下从源代码安装git
之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...
- 如何在linux console中显示当前你在的branch?
http://stackoverflow.com/questions/17333531/how-can-i-display-the-current-branch-and-folder-path-in- ...