目前在改别人遗留的bug,需求:
宽度 自适应的情况下 展示不友好:宽度太大
上下不居中 需求 要 上下 无论是否 有内容 都要居中展示 以0刻度为标准
宽度 设置
series: [ { name: ‘已付金额‘, type: ‘bar‘, stack: ‘one‘, color:‘#7198d2‘, itemStyle: itemStylet, barCategoryGap:10, data: data1, barWidth:15 宽度15规定 }, { name: ‘未付金额‘, type: ‘bar‘, stack: ‘one‘, color:‘#f09266‘, itemStyle: itemStylett, barCategoryGap:10, data: data2 } ]
高度调整
原理:给 y轴 设置 最大值 ,最小值,最大值和最小值 为 数据中 最大值的绝对值 这样 canvas就会基于 0刻度线居中
yAxis: { axisLabel:{ formatter:function (value, index) { if(value<0){ return -value; }else{ return value; } } }, min:-getMaxMin(data1,data2), max:getMaxMin(data1,data2) },
var data1 = [400,400,400,400];
var data2 = [-400,-6000,-600,-1000,];
var num=0; function getAbcArr(data2) { var arr=[]; $.each(data2,function (i, v) { arr.push(Math.abs(v)) }) return arr } function getMaxMin(data1, data2) { var arr=data1.concat(getAbcArr(data2)); return Math.max.apply(null,arr) } getMaxMin(data1,data2)
最后的效果图
原文:https://www.cnblogs.com/GoTing/p/11083850.html