echarts
Version:
A powerful charting and visualization library for browser
43 lines (33 loc) • 1.45 kB
JavaScript
/**
* @file Visual encoding for sankey view
* @author Deqing Li(annong035@gmail.com)
*/
var VisualMapping = require('../../visual/VisualMapping');
var zrUtil = require('zrender/lib/core/util');
module.exports = function (ecModel, payload) {
ecModel.eachSeriesByType('sankey', function (seriesModel) {
var graph = seriesModel.getGraph();
var nodes = graph.nodes;
nodes.sort(function (a, b) {
return a.getLayout().value - b.getLayout().value;
});
var minValue = nodes[0].getLayout().value;
var maxValue = nodes[nodes.length - 1].getLayout().value;
zrUtil.each(nodes, function (node) {
var mapping = new VisualMapping({
type: 'color',
mappingMethod: 'linear',
dataExtent: [minValue, maxValue],
visual: seriesModel.get('color')
});
var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);
node.setVisual('color', mapValueToColor);
// If set itemStyle.normal.color
var itemModel = node.getModel();
var customColor = itemModel.get('itemStyle.normal.color');
if (customColor != null) {
node.setVisual('color', customColor);
}
});
});
};