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>  

 

转载于:https://www.cnblogs.com/sixiong/p/4977924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Highcharts柱状可以通过在series中添加自定义属性来实现。在给series中的每个数据点设置属性时,可以使用data属性来存储自定义属性的值。例如,如果我们要给每个数据点添加一个自定义属性as1,可以在series的data中添加一个包含as1属性的对象。代码如下所示: series: [{ name: '年度', data: [ {y: 1, as1: '属性值1'}, {y: 4, as1: '属性值2'}, {y: 4, as1: '属性值3'}, {y: 1, as1: '属性值4'}, {y: 3, as1: '属性值5'}, {y: 6, as1: '属性值6'}, {y: 1, as1: '属性值7'}, {y: 0, as1: '属性值8'}, {y: 6, as1: '属性值9'}, {y: 1, as1: '属性值10'}, {y: 2, as1: '属性值11'}, {y: 4, as1: '属性值12'} ] }] 在tooltip的formatter函数中,可以通过this.point.as1来获取该数据点的自定义属性as1的值,并将其显示在tooltip中。例如,我们可以使用如下的tooltip配置来显示自定义属性as1的值: tooltip: { formatter: function() { return '自定义属性: ' + this.point.as1; } } 这样,当鼠标悬停在柱状上时,tooltip会显示每个数据点的自定义属性as1的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [highcharts的柱状显示数据](https://blog.csdn.net/qq_28966143/article/details/83062036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [纯Javascript的统计形报表,带实例和详细的说明文档 Highcharts](https://download.csdn.net/download/auqyvpl/5277616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Highcharts 的series自定义属性](https://blog.csdn.net/libra_ts/article/details/51489660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值