/*
1.关于柱状图不同柱的颜色处理
2.x轴柱状图转y轴柱状图
3.label数值颜色突出
备注是个人理解
*/
var left1 = [
{ year: 2018, money: 4193.3, percent: 10.5, percentvalue: 210.5 },
{ year: 2019, money: 4680, percent: 11.6, percentvalue: 210.5 },
{ year: 2020, money: 5219.6, percent: 11.5, percentvalue: 210.5 },
];
var yearlist = [];
var value1list = [];
var value2list = [];
var value3list = [];
var color = ['#f6ff00', '#0096ff', '#ff4747'];
for (var i = 0; i < left1.length; i++) {
yearlist.push(left1[i].year + '年');
value1list.push(left1[i].money);
value2list.push(left1[i].percent);
value3list.push(left1[i].percentvalue);
}
option = {
backgroundColor: '#231842',
tooltip: {
show: false,
trigger: 'axis',
axisPointer: {
type: 'shadow',
textStyle: {
color: '#fff',
},
},
},
grid: {
borderWidth: 0,
top: '15%',
bottom: '10%',
right: '40%',
textStyle: {
color: '#fff',
},
},
legend: {
show: false,
x: '4%',
top: '8%',
textStyle: {
color: '#90979c',
},
data: ['内资', '外资'],
},
calculable: true,
xAxis: [
{
type: 'value',//与y轴type: 'category'配套,决定柱状图是x轴起始还是y轴起始
show: false,
axisLine: {
show: false,
lineStyle: {
color: '#90979c',
},
},
splitLine: {
show: false,
},
axisTick: {
show: false,
},
splitArea: {
show: false,
},
axisLabel: {
interval: 0,
},
},
],
yAxis: [
{
type: 'category',//与x轴type: 'value',配套,决定柱状图是x轴起始还是y轴起始
splitLine: {
show: false,
},
axisLine: {
show: false,
lineStyle: {
color: '#90979c',
},
},
axisTick: {
show: false,
},
axisLabel: {
interval: 0,
},
splitArea: {
show: false,
},
data: yearlist,//起始轴需要有data属性
},
],
series: [
{
name: '省内',
type: 'bar',
barMaxWidth: 10,
stack: '总量',
barGap: '10%',
itemStyle: {
normal: {
//修改各个柱的颜色
//color不允许绑定集合,妥协方法就是通过判断parms的dataIndex属性值,每个柱赋值
//柱多的话foreach更好吧
color: function (parms) {
if (parms.dataIndex == 0) {
return color[0];
} else if (parms.dataIndex == 1) {
return color[1];
} else if (parms.dataIndex == 2) {
return color[2];
}
},
label: {
show: false,
},
},
},
data: value1list,
},
{
//复式柱状图
name: '省外',
type: 'bar',
stack: '总量',
itemStyle: {
normal: {
color: '#fff',
barBorderRadius: 0,
label: {
show: true,
position: 'right',
//修改label,使数值颜色突出
//formatter和下面rich配套使用
//label的formatter内嵌html大抵是不支持,死心吧
formatter: function (p) {
if (p.dataIndex == 0) {
return (
'{a|' +
value1list[p.dataIndex] +
'}' +
'亿元 同比增长' +
'{a|' +
value2list[p.dataIndex] +
'%' +
'}'
);
} else if (p.dataIndex == 1) {
return (
'{b|' +
value1list[p.dataIndex] +
'}' +
'亿元 同比增长' +
'{b|' +
value2list[p.dataIndex] +
'%' +
'}'
);
} else if (p.dataIndex == 2) {
return (
'{c|' +
value1list[p.dataIndex] +
'}' +
'亿元 同比增长' +
'{c|' +
value2list[p.dataIndex] +
'%' +
'}'
);
}
},
rich: {
a: {
color: '#f6ff00',
fontFamily: 'Microsoft YaHei',
fontSize: 13,
},
b: {
color: '#0096ff',
fontFamily: 'Microsoft YaHei',
fontSize: 13,
},
c: {
color: '#ff4747',
fontFamily: 'Microsoft YaHei',
fontSize: 13,
},
},
},
},
},
data: value3list,
},
],
};