echarts在使用柱状图时,如何对Y轴的划线进行限制,我在show中写了一个方法,但是没有进入其中,这个如何修改,具体配置如下
const initChart = () => {
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
option = {
xAxis: {
type: 'category',
data: allData.xData,
},
yAxis: {
type: 'value',
position: 'right', // 将 Y 轴移动到右侧
min: -1,
max:100,
splitNumber:100,
splitLine: {
// 修改 show 函数以返回布尔值
show: function (index) {
// 使用当前索引 index 来获取对应的刻度值
var value = myChart.getOption().yAxis[0].axisLabel.data[index];
console.log(value);
// 遍历 allData.allProjectLevelList 来检查当前的刻度值是否对应一个标签
for (let i = 0; i < allData.allProjectLevelList.length; i++) {
if (allData.allProjectLevelList[i].levelScale == value) {
return true; // 如果找到匹配的 levelScale,返回 true 显示分割线
}
}
return false; // 如果没有找到匹配的 levelScale,返回 false 不显示分割线
},
lineStyle: {
color: 'red', // 设置分割线的颜色
type: 'dashed' // 设置分割线的类型
}
},
axisTick: {
show: false // 根据需要显示或隐藏刻度线
},
axisLabel: {
interval:1,
formatter: function (value:any, index:any) {
// 这里可以自定义 Y 轴标签的显示格式
for (let i = 0; i < allData.allProjectLevelList.length; i++) {
if (allData.allProjectLevelList[i].levelScale == value){
return allData.allProjectLevelList[i].levelName
}
}
//return value + ' units'; // 假设你想要在数字后面加上单位
}
}
},
series: [{
data: allData.subjectLevelList,
type: 'bar'
}]
};
option && myChart.setOption(option);
}
运行之后如下图
如何只显示与标题相对应的划线部分