var t = document.getElementById("cardChart");
t.style.width = window.offsetWidth + "px";
var cardChart = echarts.init(t),
options = {
color: ['#3398DB'],
title: {
left: "right",
//text: new Date().getFullYear() + "年数据",
textStyle: {
color: "#2c2c2c",
fontSize: 14,
fontWeight: 500
}
},
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: "category",
data: dataYearCountName,
axisTick: {
alignWithLabel: true
},
axisLabel: {
interval: 0, //强制文字产生间隔
rotate: 45, //文字逆时针旋转45°
textStyle: { //文字样式
color: "black",
fontSize: 14,
fontFamily: 'Microsoft YaHei'
}
}
}],
yAxis: [
{
type: "value"
}
],
series: [
{
name: "例数",
type: "bar",
barWidth: "60%",
data: dataYearCountNum
}
]
};
//-----------------从这里开始 -----------------
//cardChart 柱状图名称
cardChart.setOption(options);
cardChart.off('click'); //防止触发两次点击事件
cardChart.getZr().on('click', (params) => {
let pointInPixel = [params.offsetX, params.offsetY];
if (cardChart.containPixel('grid', pointInPixel)) {
let pointInGrid = cardChart.convertFromPixel({
seriesIndex: 0
}, pointInPixel);
let xIndex = pointInGrid[0]; //索引
let handleIndex = Number(xIndex);
let seriesObj = cardChart.getOption(); //图表object对象
var op = cardChart.getOption();
//获得图表中点击的列
var month = op.xAxis[0].data[handleIndex]; //获取点击的列名
console.log(month);
console.log(handleIndex, seriesObj);
};
});
echarts使用getZr()事件获取柱状图当前点击列的数据
于 2021-12-01 16:28:58 首次发布