图形报表echarts的使用2--柱状图
************原理及功能请参照图形报表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+" : "+a[0].value+"<br/>";
relVal += a[1].seriesName+" : "+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坐标轴数据是日期格式的字符串,效果如下