You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 调性分布
export default function negaposiOption(dName = [], dPositive = [], dNegative = []) {
// let newValue = [];
// dValue.forEach(ele => {
// newValue.push(ele*1-100);
// })
const dns = []; // 负面
const dps = []; // 正面
for (let i = 0; i <= dNegative.length - 1; i++) {
if (dNegative[i] == 0 && dPositive[i] != 0) {
dps[i] = {
value: dPositive[i],
itemStyle: {
normal: {
// barBorderRadius:[9,9,9,9],
color: '#0084FF',
}
},
}
} else if (dNegative[i] != 0 && dPositive[i] == 0) {
dns[i] = {
value: dNegative[i],
itemStyle: {
normal: {
// barBorderRadius:[9,9,9,9],
color: '#FFBF00',
}
}
}
} else {
dns[i] = dNegative[i];
dps[i] = dPositive[i];
}
}
return {
tooltip: {
trigger: 'axis',
backgroundColor: "#08182F",
color: "#fff",
borderColor: "#3373CC",
textStyle: {
color: "#fff", //设置文字颜色
fontSize: 9
},
formatter: function (params) {
const arr = [];
arr.push(params[0].name)
for (let item of params) {
arr.push(item.seriesName + '' + item.value + '%')
}
var str = arr.join('\n');
return str;
},
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;",
confine: true
},
legend: {
icon: 'rectangle', //data图标样式
itemWidth: 10, //data图标大小
itemHeight: 10,
left: 15,
textStyle: {
fontSize: 8,
fontWeight: 400
},
data: ['正面调性', '负面调性']
},
grid: {
top: 20,
left: 20,
containLabel: true
},
xAxis: [{
type: 'value',
show: false
}],
yAxis: [{
type: 'category',
inverse: true,
axisTick: {
show: false
},
axisLine: {
show: false
},
axisLabel: {
margin: 10,
fontSize: 9
},
data: dName
}],
series: [{
name: '正面调性',
type: 'bar',
barWidth: 12,
stack: 'Total',
label: {
show: false,
position: 'right',
formatter: function (params) {
return (params.data) + '%';
},
},
itemStyle: {
normal: {
// barBorderRadius:[9,0,0,9],
color: '#0084FF'
},
},
emphasis: {
focus: 'series'
},
data: dps
},
{
name: '负面调性',
type: 'bar',
barWidth: 9,
stack: 'Total',
label: {
show: false,
position: 'left',
formatter: function (params) {
return (params.data) + '%';
},
},
itemStyle: {
normal: {
// barBorderRadius:[0,9,9,0],
color: '#FFBF00',
},
},
emphasis: {
focus: 'series'
},
data: dns
}
]
};
}