UNPKG

echarts

Version:

A powerful charting and visualization library for browser

98 lines (79 loc) 3.37 kB
var List = require('../../data/List'); var zrUtil = require('zrender/lib/core/util'); var SeriesModel = require('../../model/Series'); module.exports = SeriesModel.extend({ type: 'series.parallel', dependencies: ['parallel'], getInitialData: function (option, ecModel) { var parallelModel = ecModel.getComponent( 'parallel', this.get('parallelIndex') ); var dimensions = parallelModel.dimensions; var parallelAxisIndices = parallelModel.parallelAxisIndex; var rawData = option.data; var dimensionsInfo = zrUtil.map(dimensions, function (dim, index) { var axisModel = ecModel.getComponent( 'parallelAxis', parallelAxisIndices[index] ); if (axisModel.get('type') === 'category') { translateCategoryValue(axisModel, dim, rawData); return {name: dim, type: 'ordinal'}; } else { return dim; } }); var list = new List(dimensionsInfo, this); list.initData(rawData); return list; }, defaultOption: { zlevel: 0, // 一级层叠 z: 2, // 二级层叠 coordinateSystem: 'parallel', parallelIndex: 0, // FIXME 尚无用 label: { normal: { show: false // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调 // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为 // 'inside'|'left'|'right'|'top'|'bottom' // textStyle: null // 默认使用全局文本样式,详见TEXTSTYLE }, emphasis: { show: false // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调 // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为 // 'inside'|'left'|'right'|'top'|'bottom' // textStyle: null // 默认使用全局文本样式,详见TEXTSTYLE } }, inactiveOpacity: 0.05, activeOpacity: 1, lineStyle: { normal: { width: 2, opacity: 0.45, type: 'solid' } }, // smooth: false animationEasing: 'linear' } }); function translateCategoryValue(axisModel, dim, rawData) { var axisData = axisModel.get('data'); var numberDim = +dim.replace('dim', ''); if (axisData && axisData.length) { zrUtil.each(rawData, function (dataItem) { if (!dataItem) { return; } var index = zrUtil.indexOf(axisData, dataItem[numberDim]); dataItem[numberDim] = index >= 0 ? index : NaN; }); } // FIXME // 如果没有设置axis data, 应自动算出,或者提示。 }