需求:
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], // 绑定到 yAxisorient: "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;},}
}