* @param {string} seriesType * @param {module:echarts/model/Global} ecModel
(seriesType, ecModel)
| 36956 | * @param {module:echarts/model/Global} ecModel |
| 36957 | */ |
| 36958 | function layout(seriesType, ecModel) { |
| 36959 | |
| 36960 | var seriesModels = prepareLayoutBarSeries(seriesType, ecModel); |
| 36961 | var barWidthAndOffset = makeColumnLayout(seriesModels); |
| 36962 | |
| 36963 | var lastStackCoords = {}; |
| 36964 | each$1(seriesModels, function (seriesModel) { |
| 36965 | |
| 36966 | var data = seriesModel.getData(); |
| 36967 | var cartesian = seriesModel.coordinateSystem; |
| 36968 | var baseAxis = cartesian.getBaseAxis(); |
| 36969 | |
| 36970 | var stackId = getSeriesStackId(seriesModel); |
| 36971 | var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId]; |
| 36972 | var columnOffset = columnLayoutInfo.offset; |
| 36973 | var columnWidth = columnLayoutInfo.width; |
| 36974 | var valueAxis = cartesian.getOtherAxis(baseAxis); |
| 36975 | |
| 36976 | var barMinHeight = seriesModel.get('barMinHeight') || 0; |
| 36977 | |
| 36978 | lastStackCoords[stackId] = lastStackCoords[stackId] || []; |
| 36979 | data.setLayout({ |
| 36980 | bandWidth: columnLayoutInfo.bandWidth, |
| 36981 | offset: columnOffset, |
| 36982 | size: columnWidth |
| 36983 | }); |
| 36984 | |
| 36985 | var valueDim = data.mapDimension(valueAxis.dim); |
| 36986 | var baseDim = data.mapDimension(baseAxis.dim); |
| 36987 | var stacked = isDimensionStacked(data, valueDim /*, baseDim*/); |
| 36988 | var isValueAxisH = valueAxis.isHorizontal(); |
| 36989 | |
| 36990 | var valueAxisStart = getValueAxisStart(baseAxis, valueAxis, stacked); |
| 36991 | |
| 36992 | for (var idx = 0, len = data.count(); idx < len; idx++) { |
| 36993 | var value = data.get(valueDim, idx); |
| 36994 | var baseValue = data.get(baseDim, idx); |
| 36995 | |
| 36996 | var sign = value >= 0 ? 'p' : 'n'; |
| 36997 | var baseCoord = valueAxisStart; |
| 36998 | |
| 36999 | // Because of the barMinHeight, we can not use the value in |
| 37000 | // stackResultDimension directly. |
| 37001 | if (stacked) { |
| 37002 | // Only ordinal axis can be stacked. |
| 37003 | if (!lastStackCoords[stackId][baseValue]) { |
| 37004 | lastStackCoords[stackId][baseValue] = { |
| 37005 | p: valueAxisStart, // Positive stack |
| 37006 | n: valueAxisStart // Negative stack |
| 37007 | }; |
| 37008 | } |
| 37009 | // Should also consider #4243 |
| 37010 | baseCoord = lastStackCoords[stackId][baseValue][sign]; |
| 37011 | } |
| 37012 | |
| 37013 | var x; |
| 37014 | var y; |
| 37015 | var width; |
nothing calls this directly
no test coverage detected