2021SC@SDUSC
echarts源码分析
echarts如何渲染展示坐标轴上的label数据
存储
首先考虑label data的存储过程,以直角坐标系为例,data存储的调用链如下所示:
echarts.setOption()
Global.setOption()
Global.mergeOption()
Component.optionUpdated()
AxisModelCreator.optionUpdated(),将OrdinalMeta.createByAxisModel()返回的数据保存在this.__ordinalMeta中
OrdinalMeta.createByAxisModel()
主要代码如下:
OrdinalMeta.createByAxisModel = function (axisModel) {
var option = axisModel.option;
var data = option.data;
var categories = data && map(data, getName);
return new OrdinalMeta({
categories: categories,
needCollect: !categories,
// deduplication is default in axis.
deduplication: option.dedplication !== false
});
};
Grid.js中通过
var axis = new Axis2D(
axisType, createScaleByModel(axisModel),
[0, 0],
axisM