initBarChart2 () {
let yData = ['经济科学', '化学', '生物学', '物理学', '电子自控']
let barchart2 = echarts.init(this.$refs.barchart2);
var color = [{
color: '#2EE67D',
step: 4
}, {
color: '#FFD54A',
step: 5
}];
var colors = color.map(({
color,
step
}, i) => {
return new gradientColor(color, '#ffffff', step);
});
//获取两颜色区间渐变色
function gradientColor (startColor, endColor, step) {
const startRGB = hexToRgb(startColor), //转换为rgb数组模式
startR = startRGB.r,
startG = startRGB.g,
startB = startRGB.b,
endRGB = hexToRgb(endColor),
endR = endRGB.r,
endG = endRGB.g,
endB = endRGB.b,
sR = (endR - startR) / step, //总差值
sG = (endG - startG) / step,
sB = (endB - startB) / step;
var colorSteps = [];
for (var i = 0; i < step; i++) {
var hex = rgbToHex('rgb(' + parseInt((sR * i + startR)) + ',' + parseInt((sG * i + startG)) + ',' + parseInt((sB * i + startB)) + ')');
colorSteps.push(hex);
}
function hexToRgb (hex, opacity = 1) {
return {
r: parseInt("0x" + hex.slice(1, 3)),
g: parseInt("0x" + hex.slice(3, 5)),
b: parseInt("0x" + hex.slice(5, 7)),
rgb: "rgb(" + parseInt("0x" + hex.slice(1, 3)) + "," + parseInt("0x" + hex.slice(3, 5)) + "," + parseInt("0x" + hex.slice(5, 7)) + ")",
rgba: "rgba(" + parseInt("0x" + hex.slice(1, 3)) + "," + parseInt("0x" + hex.slice(3, 5)) + "," + parseInt("0x" + hex.slice(5, 7)) + "," + opacity + ")",
};
}
function rgbToHex (color) {
var rgb = color.split(',')