`

HighCharts堆积柱形图(Stacked column)添加连线

阅读更多

项目中需要堆积柱形图(Stacked column chart) 的连线效果 结果找了许多图表都没有,看着highcharts还不错,就自己想办法添加了。在线测试地址:http://jsfiddle.net/cqzhangkang/LTsku/4/

添加前效果:



 

添加后效果



 

实现代码:

$(function () {
        
    var defaultColors = ['#058DC7', '#50B432','#DDDF00', '#ED561B',  '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'];
    Highcharts.setOptions({colors : defaultColors});
    /*** 渐变效果**
    Highcharts.getOptions().colors = Highcharts.map(defaultColors, function(color) {
	    return {
	        radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
	        stops: [
	            [0, color],
	            [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
	        ]
	    };
	});
    */
    
    var categoriesArr = ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas','hello'];
    var data = [{
                type: 'column',
                name: 'John',
                data: [15,5, 3, 4, 7, 2]
            }, {
                type: 'column',
                name: 'Jane',
                data: [12,12, 12, 12, 12, 12]
            }, {
                type: 'column',
                name: 'Joe',
                data: [19,3, 4, 4, 2, 5]
            }, {
                type: 'column',
                name: 'go',
                data: [100,80, 20, 80, 90, 70]
            }];
       var len = data.length;
    var total = [];
    for(var i=0;i<categoriesArr.length;i++){
        total[i] = 0;
        for(var j=0;j<len;j++){
            total[i] += data[j].data[i];
        }
    }
    for(var i=len-1;i>=0;i--){
        var tmpData = [];
        var dd = data[i].data;
        for(var j=0;j<dd.length;j++){
            if(i == len-1){
                tmpData[j] = dd[j]*100/total[j];
            }else{
                tmpData[j] = dd[j]*100/total[j] + data[len+i + 1].data[j];
            }
        }
        data[len+i] = {
            type: 'spline',
            name: data[i].name,
            data: tmpData,
            tooltip : {
                pointFormat : ''
            },
            color: '#E5C16F',
            marker: {
                symbol : 'circle',
                lineColor: '#FFFFFF',
                fillColor:'#E5C16F'
                //fillColor: Highcharts.getOptions().colors[i]
            }
        };
        if(i == 0){
            data[len].visible = false;
        }
    }
        $('#container').highcharts({
            chart: {
                //type: 'column'
                events : {
                    redraw : function(){
                        //this.series = data;
                    }
                }
            },
            title: {
                text: 'Stacked column chart'
            },
            xAxis: {
                categories: categoriesArr
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Total fruit consumption'
                }
            },
            tooltip: {
                pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.percentage:.0f}%)<br/>',
                shared: true
            },
            credits : {
                enabled : false
            },
            legend : {
                borderWidth : 0
            },
            plotOptions: {
                column: {
                    stacking: 'percent',
                    showInLegend : true,
                    events : {
                        legendItemClick: function(event) {
                            //alert("点击了:"+this.name)
                            event.preventDefault();
                        }
                    }
                },
                spline: {
                    //stacking: '',
                    connectNulls : true,
                    showInLegend : false
                }
            },
            series: data 
        });
    });

 

 

  • 大小: 47.2 KB
  • 大小: 37.7 KB
2
0
分享到:
评论
2 楼 chamcon 2015-03-14  
627837572 写道
您好,这个堆积柱形图能添加数据标签吗?每一块都显示各自的百分比?

可以 添加dataLabels配置就可以
1 楼 627837572 2015-03-11  
您好,这个堆积柱形图能添加数据标签吗?每一块都显示各自的百分比?

相关推荐

    前端用Highcharts 写 venn图 鼠标悬浮效果以及点击事件

    在前端开发中,数据可视化是不可或缺的一部分,Highcharts是一个强大的JavaScript图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图以及我们这里关注的Venn图(韦恩图)。Venn图是一种特殊的图表,常用于...

    highcharts.js柱形图插件.zip

    Highcharts.js是一款强大的JavaScript图表库,它允许开发者创建各种类型的图表,包括柱形图、折线图、饼图等,以直观地展示数据。在"highcharts.js柱形图插件.zip"这个压缩包中,包含的是用于创建最近30天各级预警...

    highcharts.js柱形图插件实现最近30天各级预警CASE分布图代码

    在这个案例中,我们将关注如何使用Highcharts.js来实现一个柱形图,展示最近30天各级预警CASE的分布情况,并在鼠标悬停时显示当天的详细信息。 首先,`index.html`是网页的主文件,它会包含HTML结构以及Highcharts...

    highcharts实现雷达图效果

    Highcharts是一款强大的JavaScript图表库,它能够帮助开发者创建各种类型的图表,包括柱状图、折线图、饼图以及我们关注的雷达图等。在Web应用中,雷达图常用于展示多维数据,每个轴代表一个特性或指标,数据点则...

    highCharts-时序图

    在"时序图"这个场景中,HighCharts被用来展示实时更新的数据,就像心电图一样连续不断地展示时间序列信息。这种类型的图表对于监控动态变化的数据非常有用,比如在金融市场的股票价格跟踪、物联网设备的状态监测或者...

    Highcharts 构建曲线图

    Highcharts是一款强大的JavaScript图表库,用于在Web应用中创建各种数据可视化效果,包括曲线图、柱状图、饼图等。在这个"Highcharts构建曲线图"的实例中,我们将深入探讨如何利用Highcharts来绘制一个基本的曲线图...

    柱形图,饼图,线形图,区域图等图表

    总之,柱形图、饼图、线形图和区域图是数据可视化的常用工具,Highcharts作为强大的JavaScript库,能够帮助我们轻松创建各种炫酷且实用的图表,让数据的故事更加生动、直观。通过掌握这些图表的特性以及Highcharts的...

    highcharts常用实例图形

    1. **柱形图(Column Chart)**: 柱形图是一种常见的数据展示方式,通过垂直柱子的高度来表示数值的大小。在Highcharts中,可以设置颜色、宽度、堆叠、分组等属性来定制柱形图。此外,还可以添加数据标签显示具体...

    Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图

    Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图 后台代码大家根据自己的情况写并转JSON格式。在前台修改url,即可出柱形图

    Highcharts实时趋势图

    Highcharts支持多种图表类型,如折线图(line)、面积图(area)、柱状图(column)等。数据通常以JSON格式提供,每一项代表一个数据点,包含x轴和y轴的值。对于实时趋势图,x轴通常是时间戳,y轴是对应的时间序列...

    金光ASP柱形图

    在ASP中实现柱形图,我们可以利用JavaScript库,如Highcharts、Chart.js或JQuery UI等,或者使用服务器端组件,如水晶报表(Crystal Reports)或ASP.NET的Chart控件。在这个案例中,“金光ASP柱形图”可能是指一种...

    jQuery highcharts.js柱形统计图插件特效源码.zip

    Highcharts.js是一款强大的JavaScript图表库,它允许开发者创建各种类型的图表,包括柱形图、折线图、饼图等,广泛应用于数据可视化。这个“jQuery highcharts.js柱形统计图插件特效源码.zip”文件包含了一个使用...

    Highcharts柱状图显示

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种动态、交互式的图表,包括柱状图、折线图、饼图等多种类型。在本案例中,我们聚焦于"Highcharts柱状图显示",特别是柱状图...

    highcharts.js的柱形图插件实现最近30天各级预警CASE分布图代码.zip

    在这个"highcharts.js的柱形图插件实现最近30天各级预警CASE分布图代码"中,我们将深入探讨如何使用Highcharts.js来构建一个柱状图,展示最近30天内各级预警CASE的分布情况。 首先,了解Highcharts.js的基础知识是...

    Highcharts 折线统计图

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种动态、交互式的统计图表,包括折线图、柱状图、饼图、散点图等。在这个“Highcharts 折线统计图”的主题中,我们将深入探讨...

    Highcharts实现图形报表

    在本项目中,“Highcharts实现图形报表”旨在利用Highcharts的功能,构建出各种类型的柱状图表,包括对比图、级别图和单一柱形图,以满足数据分析和展示的需求。 首先,我们要了解Highcharts的基本用法。在HTML页面...

    ASP柱形图统计(带ACCESS数据库)

    4. 使用图形库:ASP中可以使用如Chart.js、Highcharts等JavaScript库,或者使用服务器端的图形库如Server-side ActiveX或Crystal Reports等,将数据转化为柱形图。 5. 输出HTML和JavaScript:ASP脚本将生成的HTML...

    ASP动态柱形图程序

    - 实现动态柱形图,开发者可能会使用一些现有的图表库,如Chart.js、Google Charts或Highcharts等。这些库提供了丰富的图形选项和API,方便在ASP页面中集成和定制柱形图。 7. **页面布局与交互**: - ASP页面除了...

    Java和Highcharts实现折线图

    在这个场景中,我们将探讨如何使用Java和Highcharts这两个工具来实现一个动态的、交互式的折线图。Highcharts是一个流行的JavaScript库,专门用于创建高质量的图表,而Java则作为后端语言,负责处理数据并将其传递给...

Global site tag (gtag.js) - Google Analytics