| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- var echarts = require("../../echarts");
- var RibbonPath = require("./Ribbon");
- var graphic = require("../../util/graphic");
- var _default = echarts.extendChartView({
- type: 'chord',
- init: function (option) {},
- render: function (seriesModel, ecModel, api) {
- var data = seriesModel.getData();
- var graph = seriesModel.getGraph();
- var edgeData = seriesModel.getEdgeData();
- var group = this.group;
- group.removeAll();
- data.each(function (idx) {
- var layout = data.getItemLayout(idx);
- var sector = new graphic.Sector({
- shape: {
- cx: layout.cx,
- cy: layout.cy,
- clockwise: layout.clockwise,
- r0: layout.r0,
- r: layout.r,
- startAngle: layout.startAngle,
- endAngle: layout.endAngle
- }
- });
- sector.setStyle({
- fill: data.getItemVisual(idx, 'color')
- });
- data.setItemLayout(idx);
- group.add(sector);
- });
- var edgeRendered = {};
- edgeData.each(function (idx) {
- if (edgeRendered[idx]) {
- return;
- }
- var layout = edgeData.getItemLayout(idx);
- var edge = graph.getEdgeByIndex(idx);
- var otherEdge = graph.getEdge(edge.node2, edge.node1);
- var otherEdgeLayout = otherEdge.getLayout();
- edgeRendered[idx] = edgeRendered[otherEdge.dataIndex] = true;
- var ribbon = new RibbonPath({
- shape: {
- cx: layout.cx,
- cy: layout.cy,
- r: layout.r,
- s0: layout.startAngle,
- s1: layout.endAngle,
- t0: otherEdgeLayout.startAngle,
- t1: otherEdgeLayout.endAngle,
- clockwise: layout.clockwise
- }
- });
- ribbon.setStyle({
- // Use color of source
- fill: edge.node1.getVisual('color'),
- opacity: 0.5
- });
- group.add(ribbon);
- });
- },
- dispose: function () {}
- });
- module.exports = _default;
|