Highcharts做统计图。
<script>
$(function () {
var areasplineData = [[1447916401000,3],[1447918201000,4]];
var typeRange = 8640000; //变量
Highcharts.setOptions({global:{useUTC : false}}); $('#container').highcharts({
chart: {
type: 'area'
},
global: {
useUTC: false
},
title: {
text: '<b>总人数统计</b>'
},
subtitle: {
text: ''
},
xAxis: {
allowDecimals: false, //x 轴不允许小数
type: "datetime",
minRange: typeRange, //最小范围 //变量 dateTimeLabelFormats:
{
millisecond: '%H:%M',
second: '%e日 %H:%M',
minute: '%e日 %H:%M',
hour: '%m月%e日 %H:%M',
day: '%m月%e日',
week: '%e. %b',
month: '%y年%m月',
year: '%Y年'
}
},
yAxis: {
title: {
text: '人数'
},
labels: {
formatter: function() {
return this.value + '人';
}
}
},
tooltip: {
shared: true,
valueSuffix: '人',
xDateFormat: '%Y-%m-%d %H:%M:%S'
},
plotOptions: {
area: {
allowPointSelect :false,//是否允许选中点
lineWidth:1,//线条粗细
pointStart: typeRange,//变量
animation:true,//是否在显示图表的时候使用动画
cursor:'pointer',//鼠标移到图表上时鼠标的样式
dataLabels:{
enabled :false,//是否在点的旁边显示数据
rotation:0
},
enableMouseTracking:true,//鼠标移到图表上时是否显示提示框
events:{ //监听点的鼠标事件
click: function() { }
},
marker: {
enabled: false, //是否显示点
symbol: 'circle',
radius: 1,//点的半径
states: {
hover: {
enabled: false //鼠标放上去点是否放大
},
select:{
enabled:false//控制鼠标选中点时候的状态
}
}
},
states:{
hover:{
enabled:false,//鼠标放上去线的状态控制
lineWidth:3
}
},
},
},
series: [{
name: '人数',
data: areasplineData
}],
/*修改右下角标注*/
credits:{
text:"www.microgolds.com",
url:"http://www.microgolds.com",
style:{
color:"red"
}
}
});
});
</script>


<script type="text/javascript" src="/st/js/graph/jQuery.js" ></script>
<script src="/st/js/graph/highcharts.js"></script>
<script src="/st/js/graph/modules/exporting.js"></script>
<script>
$(function () {
var areasplineData = {$data};
var areasplineregister = {$register};
var areasplineguest = {$guest};
var areasplinemt4_yes = {$mt4_yes};
var areasplinemt4_no = {$mt4_no};
var areasplineclient_pc = {$client_pc};
var areasplineclient_app = {$client_app}; var typeRange = {$typeRange}; //变量
var titleName = "{$roomname}" +"总人数统计";
Highcharts.setOptions({global:{useUTC : false}}); $('#container').highcharts({
chart: {
type: 'spline'
},
global: {
useUTC: false
},
title: {
text: '<b>'+ titleName +'</b>'
},
subtitle: {
text: ''
},
xAxis: {
allowDecimals: false, //x 轴不允许小数
type: "datetime",
minRange: typeRange, //最小范围 //变量 dateTimeLabelFormats:
{
millisecond: '%H:%M',
second: '%e日 %H:%M',
minute: '%e日 %H:%M',
hour: '%m月%e日 %H:%M',
day: '%m月%e日',
week: '%m月%e日',
month: '%y年%m月',
year: '%Y年'
}
},
yAxis: {
min: 0,
title: {
text: '人数'
},
labels: {
formatter: function() {
//console.log(this);
return this.value + '人';
}
}
},
tooltip: {
shared: true,
valueSuffix: '人',
xDateFormat: '%Y-%m-%d',
formatter : function(){ function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=arg1.toString().split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return (r1/r2)*pow(10,t2-t1);
}
}
var times = new Date(parseInt(this.points[0].key)).toLocaleString().substr(0,10).replace(/\//g, "-");
var str = '<span style="font-size: 12px">' + times + '</span><br/>';
for (var i in this.points)
{
if (typeof(this.points[i]) != "object"){ continue; } if (i == 0){
str += '<span style="font-size: 12px">当日总人数:'+this.points[i].y+'人</span><br/>';
}else if (i == 1){
var val = parseFloat(accDiv(parseInt(this.points[1].y), parseInt(this.points[0].y)).toFixed(4)*100); str += '<span style="font-size: 12px">总游客人数:'+this.points[i].y+'人 占比'+ (val+'').substr(0,(val+'').indexOf(".")+3) +'%</span><br/>';
}else if (i == 2){
var value = parseFloat(accDiv(parseInt(this.points[2].y), parseInt(this.points[0].y)).toFixed(4)*100); str += '<span style="font-size: 12px">总注册人数:'+this.points[i].y+'人 占比'+ (value+'').substr(0,(value+'').indexOf(".")+3) +'%</span><br/>';
}else if (i == 3){
var value =parseFloat(accDiv(parseInt(this.points[3].y), parseInt(this.points[0].y)).toFixed(4)*100);
str += '<span style="font-size: 12px">真实客户人数:'+this.points[i].y+'人 占比'+ (value+'').substr(0,(value+'').indexOf(".")+3) +'%</span><br/>';
}else if (i == 4){
var value = parseFloat(accDiv(parseInt(this.points[4].y), parseInt(this.points[0].y)).toFixed(4)*100);
str += '<span style="font-size: 12px">普通客户人数:'+this.points[i].y+'人 占比'+ (value+'').substr(0,(value+'').indexOf(".")+3) +'%</span><br/>';
}else if (i == 5){
var value = parseFloat(accDiv(parseInt(this.points[5].y), parseInt(this.points[0].y)).toFixed(4)*100);
str += '<span style="font-size: 12px">PC端听课人数:'+this.points[i].y+'人 占比'+ (value+'').substr(0,(value+'').indexOf(".")+3) +'%</span><br/>';
}else if (i == 6){
var value = parseFloat(accDiv(parseInt(this.points[6].y),parseInt(this.points[0].y)).toFixed(4)*100);
str += '<span style="font-size: 12px">移动端听课人数:'+this.points[i].y+'人 占比'+ (value+'').substr(0,(value+'').indexOf(".")+3) +'%</span><br/>';
}
}
return str;//这里随便你返回什么东西吧
},
},
plotOptions: {
spline: {
allowPointSelect :false,//是否允许选中点
lineWidth:1,//线条粗细
fillOpacity: 0.5,
pointStart: typeRange,//变量
animation:true,//是否在显示图表的时候使用动画
cursor:'pointer',//鼠标移到图表上时鼠标的样式
dataLabels:{
enabled :false,//是否在点的旁边显示数据
rotation:0
},
enableMouseTracking:true,//鼠标移到图表上时是否显示提示框
events:{ //监听点的鼠标事件
click: function() { }
},
marker: {
enabled: false, //是否显示点
symbol: 'circle',
radius: 2,//点的半径
states: {
hover: {
enabled:true //鼠标放上去点是否放大
},
select:{
// enabled:false//控制鼠标选中点时候的状态
}
}
},
states:{
hover:{
enabled:true,//鼠标放上去线的状态控制
lineWidth:1
}
},
},
},
series: [{
color: '#CC0000',
name: "总人数",
data: areasplineData
},{
color: '#227700',
name: "总游客人数",
data: areasplineguest
},{
color: '#888800',
name: "总注册人数",
data: areasplineregister
},{
color: 'green',
name: "真实客户人数",
data: areasplinemt4_yes
},{
color: '#77FFEE',
name: "普通客户人数",
data: areasplinemt4_no
},{
color: '#220088',
name: "PC端听课人数",
data: areasplineclient_pc
},{
color: '#FF3EFF',
name: "移动端听课人数",
data: areasplineclient_app
}],
/*修改右下角标注*/
credits:{
text:"www.microgolds.com",
url:"http://www.microgolds.com",
style:{
color:"red"
}
}
});
});
</script>
Highcharts做统计图。的更多相关文章
- highcharts实现统计图效果
highcharts实现统计图效果 ① 根据需求确定需要使用的案例图 把这个界面的html模板文件复制出来,放入./Application/Admin/View/User下改名为chart.html ...
- highcharts基本配置和使用highcharts做手机端图标
使用highcharts三个理由:1>手机适配2>大数据的支持3>svg的优势缺点:不开源.学习资料少 官方有基本的常规用法,一般都是基于jquery写的例子,也可以自己封装函数,用 ...
- statpot:使用mongo+bootstrap+highcharts做统计报表
最近做了一个统计项目,这个统计项目大致的需求是统计接口的访问速度.客户端会调用一个接口来记录接口的访问情况,我的需求就需要分析这些数据,然后做出个统计报表. 需求实现 最初的时候想着每天把这些接口访问 ...
- 应用highcharts做直观数据统计
最近在看上了统计类的东东,发现以前端图表神器:highcharts Highcharts是一款功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯Js图表库,Highcharts支持的图表类型有直线 ...
- MVC使用Dotnet.HighCharts做图表01,区域图表
如果想在MVC中使用图表显示的话,DotNet.HighCharts是不错的选择.DotNet.HighCharts是一个开源的JavaScript图表库,支持线型图表.柱状图标.饼状图标等几十种图标 ...
- Highcharts做柱状图怎样样每个柱子都是不同的颜色显示
series: [{ data: [{'color':'#F6BD0F','y':11}, {'color':'#AFD8F8','y':12}, {'color':'#8BBA00','y':13} ...
- highcharts分段显示不同颜色
最近在做统计图的时候,碰到一个需求 类似如下: 就是在红色虚线框内的折线在不同区域用不同的颜色表示,并且是虚线. 开始定位为用highcharts库实现.确定用这个库后,开始在网上查资料,发现有类似的 ...
- asp.net MVC项目开发之统计图的使用(前言)
接触这个项目,是项目组长已经完成了多数需求,并且有2个项目需要完工的情况下,让我加入,给了我2个表格,让我去设计出统计图. 第一次做统计图,可以说没有任何经验,不知道该如何下手,表格的数据量 ...
- highcharts曲线图
在做项目时,用highcharts做过曲线图,X轴是从后台获取的时间数据,Y轴是从后台获取的Int型数据 1.我的后台数据封装成json格式,数据较多,展示部分数据 2.曲线图的展示 3.前端jsp页 ...
随机推荐
- deepin 快捷键
从此脱离鼠标
- 自动化测试===unittest配套的HTMLTestRunner.py生成html报告源码
更改版: 全部复制,命名为 HTMLTestRunner.py 文件 #使用方法参见之前的文档:自动化测试===unittest和requests接口测试案例,测试快递查询api(二) " ...
- 生命周期(vue的钩子函数)
生命周期图示 创建前,创建后,挂载前,挂载后,更新前,更新后,销毁前,销毁后 beforeCreate:function(){ console.log('1-beforeCreate 组件还未被创建' ...
- mysql分组取前N记录
http://blog.csdn.net/acmain_chm/article/details/4126306 http://bbs.csdn.net/topics/390958705 1 我只用到了 ...
- canvas写的地铁地图
更新: 18-9-21:填了个坑,更新了canvas绘制过程. 根据的是百度提供的坐标,canvas的坐标是大的坐标在后面,所以跟实际生活方向相反. 所以canvas里的北方在下方,实际生活中北方在上 ...
- three.js、webGL、canvas区别于关联
canvas是html5新定义的一个标签,用于做图形容器 webgl要依赖canvas运行. three.js是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环.
- LeetCode214. Shortest Palindrome
Given a string s, you are allowed to convert it to a palindrome by adding characters in front of it. ...
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上篇讲到,如果用Gibbs Sa ...
- 五十七 POP3收取邮件
SMTP用于发送邮件,如果要收取邮件呢? 收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上.收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3. Python ...
- SSH整合错误三连
访问Action错误 ognl.MethodFailedException: Method "add" failed for object com.test3.action.Use ...