如何获取Echarts实例坐标轴实际的splitNumber与interval值?
解决ECharts获取实际坐标轴分割数与间隔的问题
- ECharts的
getOption()只会返回你配置的原始参数,拿不到自动调整后的实际值,得通过内部模型来获取:- 先获取对应坐标轴的内部模型:
// 以第一个x轴为例,第二个参数0是坐标轴索引,多轴场景按需修改 const xAxisModel = chart.getModel().getComponent('xAxis', 0); // 第一个y轴同理 const yAxisModel = chart.getModel().getComponent('yAxis', 0); - 获取实际计算后的间隔值:
const xActualInterval = xAxisModel.axis.scale._interval; const yActualInterval = yAxisModel.axis.scale._interval; - 计算实际分割数:用坐标轴的最大、最小值之差除以间隔,取整即可
const xActualSplitNumber = Math.floor((xAxisModel.axis.scale._max - xAxisModel.axis.scale._min) / xActualInterval); const yActualSplitNumber = Math.floor((yAxisModel.axis.scale._max - yAxisModel.axis.scale._min) / yActualInterval);
- 先获取对应坐标轴的内部模型:
- 注意:
_interval、_max、_min是ECharts内部属性,当前版本可正常使用,但后续版本可能存在变动,使用时需注意兼容性。
内容的提问来源于stack exchange,提问作者Yang
相关产品推荐
相关产品推荐

