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页 ...
随机推荐
- linux下守护进程的创建
最近在学习linux c编程 看到了守护进程的创建,感觉很好玩, 测试环境ubuntu 15.04 下面贴出测试代码 #include <stdio.h> #include <std ...
- Laravel 项目登录报错:The MAC is invalid.
在 Laravel 项目完成部署到服务器.数据库导入成功后 后台登录报错: 原因是 Laravel 的 APP_KEY 和 encrypt() 函数加密的问题.(encrypt() 是 Laravel ...
- Linux内核基础--事件通知链(notifier chain)【转】
转自:http://blog.csdn.net/wuhzossibility/article/details/8079025 内核通知链 1.1. 概述 Linux内核中各个子系统相互依赖,当其中某个 ...
- 使用UpdatePanel时FileUpload失效的问题
出处:http://www.cnblogs.com/caicainiao/archive/2010/12/08/1900377.html 1.使用UpdatePanel后,FileUpload的Has ...
- webapi-2 接口参数
1. 实例 using System; using System.Collections.Generic; using System.Linq; using System.Net; using Sys ...
- C++ 流操作符重载函数
1. 问题 在C++中,在进行输入输出操作时,我们首先会想到用cout, cin这两个库操作语句来实现,比如 cout << 8 << "hello world!&q ...
- 重装系统备份MYSQL数据(整库备份)
今天要重装Windows 8系统,但是我的Mysql里面数据太多,要备份成sql文件实在太麻烦,于是我听说可以直接拷贝数据文件夹,所以就试了,结果还成果了. 具体如下: 我安装的时候把数据文件夹就放在 ...
- BZOJ 1010 玩具装箱toy(斜率优化DP)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1010 题目大意:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他 ...
- redis之(二十)redis的总结一
1 什么是Redis Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列. Redis的特点: Redis存在于内存,使用硬盘 ...
- 遇见Python.h: No such file or directory的解决方法
出现No such file or directory的错误,有两种情况,一种是没有Python.h这个文件,一种是Python的版本不对, 可以进入/usr/include/文件夹下的Pythonx ...