function createNameList(result, data) {
	        var nameList = [];

	        var categoryDim = result && result.dimensions[result.categoryIndex];
	        var categoryAxisModel;
	        if (categoryDim) {
	            categoryAxisModel = result.categoryAxesModels[categoryDim.name];
	        }

	        if (categoryAxisModel) {
	            // FIXME Two category axis
	            var categories = categoryAxisModel.getCategories();
	            if (categories) {
	                var dataLen = data.length;
	                // Ordered data is given explicitly like
	                // [[3, 0.2], [1, 0.3], [2, 0.15]]
	                // or given scatter data,
	                // pick the category
	                if (zrUtil.isArray(data[0]) && data[0].length > 1) {
	                    nameList = [];
	                    for (var i = 0; i < dataLen; i++) {
	                        nameList[i] = categories[data[i][result.categoryIndex || 0]];
	                    }
	                }
	                else {
	                    nameList = categories.slice(0);
	                }
	            }
	        }

	        return nameList;
	    }
Complete the dimensions array, by user defined `dimension` and `encode`,
and guessing from the data structure.
If no 'value' dimension specified, the first no-named dimension will be
named as 'value'.

@param {Array.<string>} sysDims Necessary dimensions, like ['x', 'y'], which
     provides not only dim template, but also default order.
     `name` of each item provides default coord name.
     [{dimsDef: []}, ...] can be specified to give names.
@param {Array} data Data list. [[1, 2, 3], [2, 3, 4]].
@param {Object} [opt]
@param {Array.<Object|string>} [opt.dimsDef] option.series.dimensions User defined dimensions
     For example: ['asdf', {name, type}, ...].
@param {Object} [opt.encodeDef] option.series.encode {x: 2, y: [3, 1], tooltip: [1, 2], label: 3}
@param {string} [opt.extraPrefix] Prefix of name when filling the left dimensions.
@param {string} [opt.extraFromZero] If specified, extra dim names will be:
                     extraPrefix + 0, extraPrefix + extraBaseIndex + 1 ...
                     If not specified, extra dim names will be:
                     extraPrefix, extraPrefix + 0, extraPrefix + 1 ...
@param {number} [opt.dimCount] If not specified, guess by the first data item.
@return {Array.<Object>} [{
     name: string mandatory,
     coordDim: string mandatory,
     coordDimIndex: number mandatory,
     type: string optional,
     tooltipName: string optional,
     otherDims: {
         tooltip: number optional,
         label: number optional
     },
     isExtraCoord: boolean true or undefined.
     other props ...
}]