function dataStatistics(datas, statisticType) {
	        var dataNameMap = {};
	        var dims = ['value'];

	        zrUtil.each(datas, function (data) {
	            data.each(dims, function (value, idx) {
	                // Add prefix to avoid conflict with Object.prototype.
	                var mapKey = 'ec-' + data.getName(idx);
	                dataNameMap[mapKey] = dataNameMap[mapKey] || [];
	                if (!isNaN(value)) {
	                    dataNameMap[mapKey].push(value);
	                }
	            });
	        });

	        return datas[0].map(dims, function (value, idx) {
	            var mapKey = 'ec-' + datas[0].getName(idx);
	            var sum = 0;
	            var min = Infinity;
	            var max = -Infinity;
	            var len = dataNameMap[mapKey].length;
	            for (var i = 0; i < len; i++) {
	                min = Math.min(min, dataNameMap[mapKey][i]);
	                max = Math.max(max, dataNameMap[mapKey][i]);
	                sum += dataNameMap[mapKey][i];
	            }
	            var result;
	            if (statisticType === 'min') {
	                result = min;
	            }
	            else if (statisticType === 'max') {
	                result = max;
	            }
	            else if (statisticType === 'average') {
	                result = sum / len;
	            }
	            else {
	                result = sum;
	            }
	            return len === 0 ? NaN : result;
	        });
	    }
@type {module:echarts/data/Tree~Node}