需求:
1.当数据变多或者变少的时候,让柱状图不自适应调整,而是保持固定间距
2.当柱状超出当前页面的时候显示滑块,且固定滑块的滑动范围,不让用户调整展示柱状图的数量;
解决办法:
需求2:根据返回值数组的长度,以及页面需要固定展示的条数,动态计算百分比,然后设置dataZoom的配置:
// 计算滑块的展示区域,这里限制了一次最大展示八个柱状图,
const zoomValue = salvProName.length > 8 ? (8 / salvProName.length) * 100 : 100;
const option = {
...,
dataZoom: {
show: salvProName.length > 8,
type: "slider",
yAxisIndex: [0], // 绑定到 yAxis
orient: "vertical", // 垂直方向
left: "95%", // 右侧
bottom: "10%", // 从底部向上偏移
width: "5%", // 滚动条宽度
height: "90%", // 滚动条高度
start: 0, // 数据窗口范围的起始百分比
end: zoomValue, // 数据窗口范围的结束百分比
minSpan: zoomValue, // 数据窗口范围的最小跨度(百分比)
maxSpan: zoomValue, // 数据窗口范围的最大跨度(百分比)
},
}
需求1:动态计算,设置yAxis的max值
const option = {
...,
yAxis: {
type: "category",
inverse: true,
...,
// 设置类别之间的间距为固定值(不让 ECharts 自动调整)
max: function (value) {
if (value.max < 8) {
value.max = 8;
} else {
value.max = value.max;
}
return value.max;
},
}
}