现在项目需求是负值和正值数据都要显示在Y轴的右侧,而且负值要标注为负值,不能标注为正,求大神帮忙解决,多谢!!
配置项如下
var Color = ['#e4393c', '#2e8d94'];
// var data= ['12','32','-91','34','76','-20'];
var data=[{value:12,label:{formatter:'12'}},
{value:32,label:{formatter:'32'}},
{value:91,label:{formatter:'-91'}},
{value:34,label:{formatter:'34'}},
{value:76,label:{formatter:'76'}},
{value:20,label:{formatter:'-20'}}]
var xData = function() {
var data = [];
for (var i = 2011; i < 2017; i++) {
data.push(i + "年");
}
return data;
}();
option = {
backgroundColor: '#131e54',
grid: {
left: '3%',
right: '4%',
bottom: '10%',
containLabel: true
},
xAxis: {
type: 'value',
axisTick: {
show: false
},
axisLine: {
show: false,
lineStyle: {
color: '#32346c',
}
},
splitLine: {
show: false,
},
axisLabel: {
show:false,
},
},
yAxis: {
type: 'category',
axisLine: {
lineStyle: {
color: '#32346c'
}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
splitArea: {
show: false
},
axisLabel: {
inside: false,
textStyle: {
color: '#bac0c0',
fontWeight: 'normal',
fontSize: '12',
},
},
data:xData,
},
series: [{
name: '账户表现',
type: 'bar',
itemStyle: {
normal: {
show: true,
color: function(params) {
var colorList = [];
for (var i = 0; i <data.length; i++) {
if(data[i].label.formatter>0){
colorList.push({
type: 'bar',
colorStops: [{
offset: 0,
color: Color[0]
}],
globalCoord: false,
});
}else{
colorList.push({
type: 'bar',
colorStops: [{
offset: 0,
color: Color[1]
}],
globalCoord: false,
});
}
}
return colorList[params.dataIndex]
},
barBorderRadius: [ 0, 25,25, 0],
borderWidth: 0,
borderColor: '#333',
},
},
barGap: '0%',
barCategoryGap: '50%',
data:data,
label: {
normal: {
show: true,
position: "right",
textStyle: {
color: "#ffc72b",
fontSize: 20
},
},
},
}
]
};