在 ECharts 中,“缩放坐标系”通常有以下几种常见场景和需求。下面我按常用方式给你系统讲一下。
dataZoom 是对 坐标轴(xAxis / yAxis) 进行缩放和拖拽的核心组件。
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
dataZoom: [
{
type: 'slider', // 滑动条
xAxisIndex: 0
},
{
type: 'inside', // 鼠标滚轮缩放
xAxisIndex: 0
}
],
series: [{
type: 'line',
data: [120, 200, 150, 80, 70, 110, 130]
}]
};
✅ 效果:
dataZoom: [
{
type: 'slider',
yAxisIndex: 0
},
{
type: 'inside',
yAxisIndex: 0
}
]
dataZoom: [
{ type: 'inside', xAxisIndex: 0 },
{ type: 'inside', yAxisIndex: 0 }
]
dataZoom: [
{
type: 'slider',
start: 30,
end: 70
}
]
start / end 是 百分比(0–100)如果是指 图表本身随窗口缩放:
window.addEventListener('resize', () => {
myChart.resize();
});
或在 Vue / React 中监听容器尺寸变化。
yAxis: {
scale: true
}
✅ 作用:
→ 用 dataZoom
dataZoom: {
type: 'slider',
polarIndex: 0
}
myChart.dispatchAction({
type: 'dataZoom',
start: 20,
end: 60
});
❌ scale ≠ dataZoom
scale:坐标轴比例dataZoom:用户可交互缩放❌ 缩放只影响视图,不改变原始数据
我可以直接给你一份可用代码模板。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。