需求
在开发中,遇到如下一个需求,要展示指定区域的图形,并控制其不允许缩放
分析
第一想到的就是控件 dataZoom 中设置指定展示的区域,总结如下
解决
- 示例
- 源码
option: { xAxis: { type: "category", data: ["A", "B", "C", "D", "E", "F", "G"], }, yAxis: { type: "value", }, series: [ { data: [120, 200, 150, 80, 70, 110, 130], type: "line", }, ], // 添加dataZoom组件 dataZoom: [ { // X 轴设置dataZoom类型为slider type: "slider", show: false, // 锁定选择区域的大小 zoomLock: true, // 设置dataZoom的范围,百分比表示 start: 20, end: 80, // 控制手柄的尺寸 handleSize: '80%', // 两侧缩放手柄的样式配置 handleStyle: { color: '#fff', shadowBlur: 3, shadowColor: 'rgba(0,0,0,0.6)',//阴影颜色 shadowOffsetX: 2,// 阴影水平方向上的偏移距离 shadowOffsetY: 2,// 阴影垂直方向上的偏移距离 } }, { // 设置dataZoom类型为inside type: "inside", // 设置dataZoom的范围,百分比表示 xAxisIndex: [0], start: 20, end: 80, }, ], }
复制
- X 轴设置dataZoom类型为slider
type: “slider”, - 是否展示
show: false, - 锁定选择区域的大小
zoomLock: true, - 设置dataZoom的范围,百分比表示
start: 20,
end: 80, - 控制手柄的尺寸
handleSize: ‘80%’, - 两侧缩放手柄的样式配置
handleStyle: {
color: ‘#fff’,
shadowBlur: 3, - 阴影颜色
shadowColor: ‘rgba(0,0,0,0.6)’, - 阴影水平方向上的偏移距离
shadowOffsetX: 2, - 阴影垂直方向上的偏移距离
shadowOffsetY: 2,
}