您的位置:首页 > 其它

图形报表echarts的使用2--柱状图

2015-03-26 09:16 323 查看

************原理及功能请参照图形报表echarts的使用1--折线图************

目标:生成上下堆积显示的柱状图。以0为水平分割线,

主要是stack的配置,属性值相同且内部数组装载顺序倒序(格式化时注意),不配置不堆积且按装载的顺序组织。

 

还有一个xAxis的type : 'category', 按类型进行处理,如果是非日期型,按元素平铺处理,如果是日期型,会按日期的规则进行展示。

 

option = {
            title : {
                text : '统计',
                textStyle:{
                    fontSize:18,
                    fontWeight: 'bolder',
                    color: '#000000'
                },  
                subtext:'${title}',
                subtextStyle:{
                    fontSize: 14,
                    fontWeight: 'bolder',
                    color: '#ff0000'
                },
                x: "center", //标题水平方向位置
                y:'top'
            },
            tooltip : { //显示信息
                trigger: 'axis',
                axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                    type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'  阴影
                },
                formatter:function(a){
                    //****** 格式化处理a当前点上的集合(有多少个数据集,就有多少个数组)
                    //****** x:对应name  y:对应value ,其中seriesName是相应的名称。
                    //*********如果是堆积图,数组是以series加载的倒序进行装载,否则是以正序进行装载
                    var relVal = ((a[0].name==5)?"1":(a[0].name-4))+"-"
                                +a[0].name+"天之内"+'<br/>';
                    relVal += a[0].seriesName+"&nbsp;:&nbsp;"+a[0].value+"<br/>";
                    relVal += a[1].seriesName+"&nbsp;:&nbsp;"+a[1].value+"<br/>";
                    return relVal;
                }
            },
            legend: {//图例  顺序按定义的为主
                data:['入', '出'],
                y:"bottom"
            },
            toolbox: {//右上角配置
                show : true,
                feature : {
                    mark : {show: false},
                    dataView : {show: true, readOnly: true},
                    magicType : {show: true, type: ['line', 'bar']},
                    restore : {show: true},
                    saveAsImage : {show: true}
                }
            },
            calculable : true,
            yAxis : [
                {
                    type : 'value',
                    name : '个数'
                }
            ],
            xAxis : [
                {
                    type : 'category',
                    axisTick : {show: false},
                    //position : 'top',
                    //nameLocation : 'start', //位置默认为end
                    data : ${xCount},
                    name : '间隔'
                }
            ],
            series : [
                {
                    name:'出',
                    type:'bar',
                    stack: '总量',  //组合名称,双数值轴时无效,多组数据的堆积图时使用  用相同的名称
                    //barWidth : 10,   //设置bar图形的宽度,如果是堆积图,顺序处理,以先加载的为主,
                    itemStyle: {normal: {
                        label : {show: false, position: 'left'},
                        color:'#00cc00'
                    }},
                    data:${kongcang}
                },
                {
                    name:'入',
                    type:'bar',
                    stack: '总量',                           //用相同的名称
                    barWidth : 10,   //设置bar图形的宽度,如果是堆积图,以先加载的为主
                    itemStyle: {normal: {
                        label : {show: false},
                        color:'#ff0000'
                    }},
                    data:${mancang}
                }
            ]
        };

效果如下:

stack前的效果图:



 

stack后的效果图:

 

如果x坐标轴数据是日期格式的字符串,效果如下

 



 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: